java吧 关注:1,233,790贴子:12,699,825

为什么StringBuilder要转换成String再输出?

只看楼主收藏回复

如题,楼主才学,有点没搞明白。
直接对StringBuilder进行system.out.println(),可以正常输出,为什么还要进行toString();啊???!!!
另外,StringBuilder和String是啥关系啊?
求各位前辈指导小白


IP属地:河北1楼2016-08-27 09:37回复
    顶一下


    IP属地:河北2楼2016-08-27 09:39
    回复
      看需要。。。。。。。打印的时候只是自动调用了tostring而已


      来自Android客户端3楼2016-08-27 09:45
      收起回复
        他们的关系是效率的问题,前者效率高,后者效率低,用起来确实有不同用法,不过差别不大


        IP属地:广东来自Android客户端4楼2016-08-27 09:49
        收起回复
          没区别 喜欢而已


          IP属地:北京来自Android客户端6楼2016-08-27 10:12
          回复
            没什么关系 底层都是字符数组


            IP属地:北京来自Android客户端7楼2016-08-27 10:13
            回复
              StringBuff是带有缓存的,在进行system.out.println的时候 底层会自动调用toString方法。


              8楼2016-08-27 11:40
              回复
                String 与 StringBuff 的关系 就是String在反复改变其值的时候对系统资源消耗比较大,StringBuff则优化了这一点。


                9楼2016-08-27 11:42
                回复
                  重写了tostring方法,,


                  IP属地:广东来自iPhone客户端10楼2016-08-27 12:28
                  回复
                    如果你javap代码,就会发现字符串中的+号都是stringbuffer实现的


                    IP属地:安徽来自Android客户端11楼2016-08-27 14:54
                    回复


                      IP属地:广东来自Android客户端13楼2016-08-27 21:41
                      收起回复
                        这个吧还是有人的啊,我以为没人呢,大神多大点精品贴


                        来自Android客户端14楼2016-08-27 21:44
                        回复
                          没写tostring的话,你打印对象,显示xx.xx.xx,tostring写一下,就可以按你的意愿输出


                          IP属地:福建来自iPhone客户端15楼2016-08-28 07:50
                          回复
                            借贴,哪位大哥知道新人刚进公司要做什么呀?抱拳了!


                            来自Android客户端16楼2016-08-28 08:11
                            回复