一个让我有点困扰的问题,关于StringBuff的
这段代码的运行结果为: a .. bb
如果将show方法里的两句换个位置,则输出:ab .. b
我是这样理解的:
show方法中,第一句是将参数S1指向S2的地址
这时候在SHOW方法中改变S1的值实际上是改变了S2所指向的地址
返回到Main方法后s1仍然指向的是以前的地址,也就是a,而s2所指向的地址已经改变
这么解释对不对??
public class Test { public static void main(String[] args) { StringBuffer s1 = new StringBuffer("a"); StringBuffer s2 = new StringBuffer("b"); new Test().show(s1,s2); System.out.println(s1 + " .. " + s2); } void show(StringBuffer s1,StringBuffer s2) { s1=s2; s1.append(s2); } }