[問題] 重複new StringBuilder 的效能問題

看板java作者 (小黑炭)時間12年前 (2013/05/12 21:21), 編輯推噓0(001)
留言1則, 1人參與, 最新討論串1/2 (看更多)
最近在寫一個程式,突然冒出來的疑問 如果我現在有一個迴圈 String text = "abcd"; for(int i = 0; i < 500000; i++){ new StringBuilder(text).append(text).toString(); } 跟 StringBuilder sb = new StringBuilder(); for(int i = 0; i < 500000; i++){ sb.append(text).append(text).toString(); sb.delete(0, sb.length()); } 這樣子哪一個是比較好的寫法呢? 自己測試時間有時候第一個快 有時候第一個慢 不知道哪一個方法才是比較省能的寫法 -- 不菸不酒,沒有朋友 有菸有酒,癌症好友 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.253.79

05/12 21:29, , 1F
第 2 個為什麼不是把 length 設成 0 就好?
05/12 21:29, 1F
不好意思,請問是要怎麼設成0呢? 剛開始用 StringBuilder 所以不太懂 QQ" 我用 sb.delete(0, sb.length()); 的目的是把 sb 裡面的東西都清掉,這樣下次用到就是乾淨的sb ※ 編輯: love112302 來自: 118.160.253.79 (05/12 21:58)
文章代碼(AID): #1HZvT6Ud (java)
文章代碼(AID): #1HZvT6Ud (java)