String StringBuffer Stringbuilder 作為形參
String StringBuffer Stringbuilder 作為形參
String、StringBuffer、StringBuilder作為參數傳遞時和基本數據類型一樣。并不會改變實參的值。
public static void main(String[] args) {
String str = "11";
StringBuffer sf = new StringBuffer("112");
System.out.println(str);
System.out.println(sf);
test(str);
test(sf);
System.out.println(str);
System.out.println(sf);
}
static void test(String str) {
str = "666";
}
static void test(StringBuffer str) {
str = new StringBuffer("666");
}運行結果:
11
112
11
112
但是StringBuffer和StringBuilder形參在調用了方法,能進行改變。
static void test(StringBuffer str) {
str = new StringBuffer("666");
str.append("+123");
}猜一下上面運行的是結果是啥?
結果是112+123?還是666+123?還是112?
運行結果是后者。

但是。這樣的運行結果呢?

運行結果為112+123
浙公網安備 33010602011771號