public class Test {
public static void main(String[] args) {
StringBuffer a = new StringBuffer("x");
StringBuffer b = new StringBuffer("y");
Test test = new Test();
test.operate(a,b);
//打印xy
System.out.println(a);
//打印y
System.out.println(b);
}
public void operate(StringBuffer a,StringBuffer b){
a.append(b);
b = a;
}
}
其中a和b的引用都没变。 但是a的内容变了。
补充代码:
public class Test {
public static void main(String[] args) {
String t = "hello";
char c[] = {'h','e','l','l','o'} ;
exchange(t,c);
//输出hello
System.out.println(t);
//输出:[m, e, l, l, o]
System.out.println(Arrays.toString(c));
}
public static void exchange(String str,char []chars){
str ="bian";
chars[0]='m';
}
}