A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1黑马币
String s1 = "java";
                String s2 = "hello";
                method_1(s1,s2);
                System.out.println(s1+"...."+s2);
StringBuilder s11 = new StringBuilder("java");
                StringBuilder s22 = new StringBuilder("hello");
                method_2(s11,s22);
                System.out.println(s11+"-----"+s22);
public static void method_1(String s1,String s2){
                s1.replace('a','k');
                s1 = s2;
        }
        public static void method_2(StringBuilder s1,StringBuilder s2){
                s1.append(s2);
                s1 = s2;
        }

15 个回复

倒序浏览
这是哪有问题啊?
回复 举报
好容易错的这个,,
回复 举报
对String每一次操作都会创建新的String对象  利用缓冲区 方法就会返回当前的对象  所以第一个输出Java...hello  第二个是javahello-----hello
回复 举报

就是两个输出语句的区别
回复 举报
小雨皮 发表于 2016-6-24 15:38
好容易错的这个,,

是的~ 主要是细节 两个有区别
回复 举报
lifeiwangyue 发表于 2016-6-24 21:27
对String每一次操作都会创建新的String对象  利用缓冲区 方法就会返回当前的对象  所以第一个输出Java...he ...

是的 很完整的解答,满分
回复 举报
guowei 中级黑马 2016-6-30 16:46:41
8#
学习了111111111111
回复 举报
yehan627 来自手机 中级黑马 2016-7-1 18:10:16
9#
好东西啊
回复 举报
两次都打印 hello.......hello   
回复 举报
刚犯过这种错误,受教了!
回复 举报
都是初学者加油
回复 举报
竟然不懂
回复 举报
嗯嗯。。。。。。。。。。。。。。
回复 举报
好吧 学到啦
回复 举报
看不出来,求大神指导
回复 举报
您需要登录后才可以回帖 登录 | 加入黑马