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);
}
}
我明白print語句在功能上modify
我也知道StringBuffer
類修改字符串就地因此a.append(b)
使得字符串是指「AB」。
我的問題是如何將String a
更改爲功能modify
之外的「AB」,但語句a=b
對功能modify
沒有影響。 基本上,什麼時候變量通過值傳遞,何時通過引用?
這可能會讓你感興趣http://stackoverflow.com/questions/40480/is-java-pass-by-reference – Pshemo
是的,它的確如此。謝謝。 +1 –