请原谅初学者的问题。我在互联网上遇到了这个代码片段:
public class Person {
public static void main(String [] args)
{
StringBuffer a = new StringBuffer("A");
StringBuffer b = new StringBuffer("B");
operate(a,b);
System.out.println(a+","+b);
}
static void operate(StringBuffer x, StringBuffer y)
{
y.append(x);
y=x;
}
}
我想出运行输出应该是A,A,但是正确的输出应该是A,BA,专家可以帮我理解为什么b的值仍然是AB吗?为什么“y.append(x)”会影响b的值,而不是“y=x”?这就是我感到困惑的地方。
提前致谢。