【发布时间】:2013-01-19 08:12:43
【问题描述】:
代码
class Test {
public static void main(String args[]) {
StringBuffer a = new StringBuffer("A");
StringBuffer b = new StringBuffer("B");
modify(a, b);
System.out.println(a + " " + b);
}
public static void modify(StringBuffer a, StringBuffer b) {
a.append(b);
a = b;
System.out.println(a + " " + b);
}
}
我理解函数modify 中的打印语句,我也知道StringBuffer 类修改了String,因此a.append(b) 使String 引用“AB”。
我的问题是如何在函数modify 之外将String a 更改为“AB”,但声明a=b 在函数modify 之外没有影响。 基本上,变量什么时候传值,什么时候传引用?
【问题讨论】:
-
是的,确实如此。谢谢你。 +1