您的位置:首页 > Web前端

今天做错的笔试题:StringBuffer引用传参

2012-12-08 23:46 337 查看
代码:

public static void T3()
{
StringBuffer a=new StringBuffer("A");
StringBuffer b=new StringBuffer("B");
switchStr(a, b);
System.out.println(a+","+b);
}

public static void switchStr(StringBuffer x,StringBuffer y)
{
x.append(y);
System.out.println(x);
y=x;
System.out.println(y);
}
容易搞错T3()的结果是:

AB

AB

AB,AB

其实正确答案是:

AB

AB

AB,B

好吧,解题思路这样子:



刚刚进入switchStr(a,b)执行到x.append(y);这句的时候。。。

----------------------------------------------------------------------------------



精彩啊在此:::执行到y=x; 这句的时候,就成样了。

所以,打印a+","+b就是"AB,B"了。
........ao,ao.........

另外一个网友“北京-袋鼠”的总结如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: