爲什麼在這段代碼中我不能交換StringBuffer的?Java通過引用傳遞
public static void main(String[] args) {
StringBuffer a = new StringBuffer("One");
StringBuffer b = new StringBuffer("Two");
swap(a, b);
System.out.println("a is " + a + "\nb is " + b);
}
static void swap(StringBuffer a, StringBuffer b) {
a.append(" more");
b = a;
}
@HotLicks沒有侮辱或撲,請...... – Ordous
你當然可以,讓你的'swap'法「工作」,有它的交換*內容*這兩個對象。 –
@有點 - 我很抱歉。他清楚地瞭解Java是如何工作的,已經深入研究了Java是通過引用還是按價值呼叫,並且正在擾亂我們的鏈條。 –