传递的参数是通过传值,
传入的的StringBuffer x,StringBuffer y,这两个的值都指向原来a,b对象的引用
x.append(y),就相当于a.append(b),因为调用方法的时候,引用是相同的
但是y = x时,只是把y的引用改变,对值是没有影响的
传入的的StringBuffer x,StringBuffer y,这两个的值都指向原来a,b对象的引用
x.append(y),就相当于a.append(b),因为调用方法的时候,引用是相同的
但是y = x时,只是把y的引用改变,对值是没有影响的
换成:
y.delete(0, y.length());
y.append(x);那么结果: y = AB忘记从哪里看过, StringBuffer和普通的对象相比比较特殊.
赋值"="操作对于二者的作用是不同的, 具体为什么, 忘记了:)
如果需要改变传进来的引用, 那么只有像上面一样, 调用该引用的方法.