为什么在这段代码中我不能交换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是通过引用还是按价值呼叫,并且正在扰乱我们的链条。 –