1)新生成一个,旧的由系统自己主动回收 2)使用delete 3)使用setLength
将三种方法循环1000万次,代码:
1.public class sbbm {
2.
3. static String a;
4. static long time ;
5. public static void main( String[] args ) throws Exception {
6.
7. StringBuilder sb = new StringBuilder();
8. StringBuilder sb3 = new StringBuilder();
9.
10. time = System.currentTimeMillis();
基本上有两种选择,setLength(0)用于重置StringBuilder或在每次迭代中创建一个新的。两者都有优点和缺点,具体取决于用法。
如果您事先知道StringBuilder的预期容量,那么每次创建一个新的容量应该与设置新的长度一样快。它还将帮助垃圾收集器,因为每个StringBuilder的生存期都相对较短,并且gc为此进行了优化。
当您不知道容量时,重用相同的StringBuilder可能会更快。每次添加时超出容量时,都必须分配一个新的后备阵列,并且必须复制以前的内容。通过重复使用相同的StringBuilder,它将在某些迭代后达到所需的容量,此后将不再进行任何复制。
作者:深海001
链接:https://juejin.cn/post/6962690734587641886
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
关键词: Java中StringBuilder的清空方法是什么 如何清除或清空StringBuilder java中清空屏幕内容的语句
网站首页 |网站简介 | 关于我们 | 广告业务 | 投稿信箱
Copyright © 2000-2020 www.sosol.com.cn All Rights Reserved.
中国网络消费网 版权所有 未经书面授权 不得复制或建立镜像
联系邮箱:920 891 263@qq.com