今天工作的时候发现stringbuffer是引用传递,有别于string的值传递。
先上代码:
public class test {
public static void main(String[] args) {
StringBuffer a=new StringBuffer(2);
for (int i = 0; i < 10; i++) {
System.out.println("a:"+a);
StringBuffer b=a;
b.append(2);
System.out.println("b:"+b);
}
}
}
输出结果:
a:
b:2
a:2
b:22
a:22
b:222
a:222
b:2222
a:2222
b:22222
a:22222
b:222222
a:222222
b:2222222
a:2222222
b:22222222
a:22222222
b:222222222
a:222222222
b:2222222222
关于引用传递和值传递的区别,网上的博客都写的很详细了