2013-05-01 29 views
0

尋找最好的(?)的方式來代替一個StringBuilder的內容什麼是完全替換StringBuilder的正確方法?

我通常使用這個

StringBuilder stringBuilder = new StringBuilder("abc"); 

stringBuilder.setLength(0); 
stringBuilder.append("12"); 

我想人們也可以指向一個新的StringBuilder

StringBuilder stringBuilder = new StringBuilder("abc"); 

stringBuilder = new StringBuilder("12"); 
+3

什麼是您的「最佳」標準?這裏的背景是什麼?你知道下一個最後的字符串會有多長? – 2013-05-01 19:28:57

+1

所以基本上你想「重置」StringBuilder?我傾向於發現創建一個新的是最明確的方式。 – Aurand 2013-05-01 19:32:45

回答

3

重新使用像這樣的StringBuilder通常可以爲你節省很少的空間。就我個人而言,我絕不會打擾這些事情;只是創建一個新的StringBuilder對象,它很簡單,一致(你沒有重置你的POJO對吧?)。所以,我會說,保持簡單,去第二個選項,除非你有一些有趣的限制,在你的初始文章中沒有提到。

+0

如果你在方法中將StringBuilder作爲參數傳遞並且你需要接收被操作的StringBuilder,那麼怎麼辦?例如:doMethod(stringBuilder);在這種情況下,如果您在doMethod中使用新的StringBuilder(「12」),則調用方法將不會獲得更新。對? – user2287359 2013-05-02 13:05:46

+0

那麼,撇開這將是一個可怕的編程方式(簡單的規則:從來沒有操縱你的輸入,請閱讀清潔代碼),你是對的;在這種情況下,您將不得不返回新的StringBuilder。 – 2013-05-02 13:12:16

相關問題