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 javastringbuilder教程 java中清空屏幕內容的語句