黑马程序员技术交流社区

标题: Stringbuilder的问题 [打印本页]

作者: star5603    时间: 2014-8-3 20:48
标题: Stringbuilder的问题
本帖最后由 star5603 于 2014-8-4 12:04 编辑

当StringBuilder用了toString方法后,自身变为空了么。。。

作者: fantacyleo    时间: 2014-8-3 20:53
不可能吧,连用两次toString没问题啊
作者: zhouqun    时间: 2014-8-3 20:55
一直操作的都是引用啊   堆内存中的实体一点都没变啊  为什么要变空
作者: GoodBoy123    时间: 2014-8-3 22:23
你发个例子上来看一下。
作者: 怀念黑海岸    时间: 2014-8-4 11:36
本帖最后由 怀念黑海岸 于 2014-8-4 11:38 编辑

StringBuilder类其实和StringBuffer里的方法一致,唯一不同在于后者是线程安全的,前者只是为我们提供一个运行更快的操作字符的捷径而已。而执行toString方法是不会清空其中内容的,这个方法只是将StringBuilder对象转换成字符串而已,下面这段代码显示的就是如何清空StringBuilder对象中的内容:
        StringBuilder sb=new StringBuilder();
                sb.append("abc");
                sb.append("def");
                System.out.println(sb.toString());
                System.out.println(sb.length());  
                sb.delete(0,sb.length());//StringBuffer和StringBuilder类是通过delete方法来清空其中元素的
                System.out.println(sb.length());
运行结果为:
             abcdef
              6
              0

作者: ggflxb    时间: 2014-8-4 11:45
不会变空的
作者: star5603    时间: 2014-8-4 12:04
怀念黑海岸 发表于 2014-8-4 11:36
StringBuilder类其实和StringBuffer里的方法一致,唯一不同在于后者是线程安全的,前者只是为我们提供一个 ...

嗯,谢了




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