日期:2014-05-20  浏览次数:20626 次

关于StringBuffer的问题
Java code
public class test {
    
            public static void main(String[] args){
                String s1=new String("abc");
                StringBuffer sb1=new StringBuffer("def");
                sb1.append(s1);             //第6行
                System.out.println(sb1);    //第7行
            }
}


运行结果:defabc

我的问题是,书上说“语法:字符串1.append(参数),将参数连接到字符串1后并返回”,第6行执行了为什么会让sb1改变,这个返回的应该是方法的值啊,难道是返回给sb1的?



------解决方案--------------------
书上说“语法:字符串1.append(参数),将参数连接到字符串1后并返回”


sb1.append(s1) 就是将s1 abc 连接到字符串 sb1 啊!所以输出defabc

第6行执行了为什么会让sb1改变? 上边已经说了!

这个返回的应该是方法的值啊,难道是返回给sb1的? 没看懂 啥意思!

------解决方案--------------------
探讨

书上说“语法:字符串1.append(参数),将参数连接到字符串1后并返回”


sb1.append(s1) 就是将s1 abc 连接到字符串 sb1 啊!所以输出defabc

第6行执行了为什么会让sb1改变? 上边已经说了!

这个返回的应该是方法的值啊,难道是返回给sb1的? 没看懂 啥意思!