public class Test {
public static void main (String [] args) {
TestMathRandom x = new Test();
StringBuffer a = new StringBuffer ("A");
StringBuffer b = new StringBuffer ("B");
x.operate (a,b);
System.out.println(a + "," +b);
}
void operate (StringBuffer x, StringBuffer y) {
x.append(y);
y = x;
}
}
Ans 是 AB,B 请告诉我为什么 b 的值不变。
最佳答案
您正在传递变量 x 和 y 的值,而不是对它们的引用。因此,在操作函数中所做的更改是无用的,请点击帖子评论中提供的链接以更好地理解;)
关于java - 字符串缓冲区行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18465684/