首先,肯定的是java中是值傳遞,但是在偶然一次 coding 中發現了一個問題沒反應過來,特此來記錄一下。
代碼如下:
public static void main(String[] args){
StringBuffer s1 = new StringBuffer("hello");
StringBuffer s2 = new StringBuffer("hello");
change(s1,s2);
System.out.println("s1: " + s1);
System.out.println("s2: " + s2);
}
public static void change(StringBuffer a, StringBuffer b){
a.append("world");
b = a;
//System.out.println(b);
}
執行結果爲:
直接給出圖解: