如何清除或清空StringBuilder?
这个问题在这里已经有了答案:
两种工作方式:
stringBuilderObj.setLength(0)
。 new StringBuilder()
分配一个新的而不是清除缓冲区。 基本上有两种选择,使用setLength(0)
来重置StringBuilder或在每次迭代中创建一个新的。 根据使用情况,两者都有优点和缺点。
如果您事先知道StringBuilder的预期容量,那么每次创建一个新的容量应该与设置新的容量一样快。 它也将帮助垃圾收集器,因为每个StringBuilder将会相对较短,并且gc会针对此进行优化。
当你不知道容量时,重用相同的StringBuilder可能会更快。 每次在追加时超过容量时,都必须分配新的后备阵列,并且必须复制先前的内容。 通过重用相同的StringBuilder,经过一些迭代后它将达到所需容量,此后不会有任何复制。
delete
不是太复杂:
myStringBuilder.delete(0, myStringBuilder.length());
你也可以这样做:
myStringBuilder.setLength(0);
链接地址: http://www.djcxy.com/p/12549.html