黑马程序员技术交流社区

标题: 这问题都来看看吧,初学者经常犯的错误 [打印本页]

作者: 阳光中的雨    时间: 2016-6-23 22:59
标题: 这问题都来看看吧,初学者经常犯的错误
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;
        }


作者: TheLittlePrince    时间: 2016-6-24 15:23
这是哪有问题啊?
作者: 小雨皮    时间: 2016-6-24 15:38
好容易错的这个,,
作者: lifeiwangyue    时间: 2016-6-24 21:27
对String每一次操作都会创建新的String对象  利用缓冲区 方法就会返回当前的对象  所以第一个输出Java...hello  第二个是javahello-----hello
作者: 阳光中的雨    时间: 2016-6-24 22:48
TheLittlePrince 发表于 2016-6-24 15:23
这是哪有问题啊?

就是两个输出语句的区别
作者: 阳光中的雨    时间: 2016-6-24 22:49
小雨皮 发表于 2016-6-24 15:38
好容易错的这个,,

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

是的 很完整的解答,满分
作者: guowei    时间: 2016-6-30 16:46
学习了111111111111
作者: yehan627    时间: 2016-7-1 18:10
好东西啊
作者: xfbyxq    时间: 2016-7-3 17:00
两次都打印 hello.......hello   
作者: 莫莫莫    时间: 2016-7-7 01:41
刚犯过这种错误,受教了!
作者: 弄啥呢    时间: 2016-7-8 22:13
都是初学者加油
作者: wq_316476051    时间: 2016-7-8 23:38
竟然不懂
作者: 东东瑞    时间: 2016-7-26 23:55
嗯嗯。。。。。。。。。。。。。。
作者: lizhao    时间: 2016-7-28 21:30
好吧 学到啦




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2