首先,肯定的是java中是值传递,但是在偶然一次 coding 中发现了一个问题没反应过来,特此来记录一下。
代码如下:
public static void main(String[] args){
StringBuffer s1 = new StringBuffer("hello");
StringBuffer s2 = new StringBuffer("hello");
change(s1,s2);
System.out.println("s1: " + s1);
System.out.println("s2: " + s2);
}
public static void change(StringBuffer a, StringBuffer b){
a.append("world");
b = a;
//System.out.println(b);
}
执行结果为:
直接给出图解: