2013-08-27 92 views
1

下面兩種方法如何追加String什麼時候是`StringBuilder`而不是將`String`追加到`String`?

String firstString = "text_0"; 
String secondString = "text_1"; 
String resultString = firstString + secondString; 

StringBuilder sb = new StringBuilder(); 
sb.append(firstString).append(secondString); 
String resultString = sb.toString(); 

我的問題是 - 是更有效時使用StringBuilder?假設有10個字符串,我需要創建其中的一個。

+2

http://stackoverflow.com/questions/4645020/when-to-use-stringbuilder-in-java – VM4

+0

http://stackoverflow.com/questions/1532461/stringbuilder-vs-string-concatenation-in -tostring-in-java – Lera

回答

2

因爲StringBuilder可以「附加」一個字符串,而不是每次創建新對象時連接兩個字符串。即使在字符串中使用+ =運算符,也會創建一個新對象。一旦你嘗試連接大量的字符串,這個優點只會變得相關。如果也consiedered更可讀一點。

+0

我試過[this](http://stackoverflow.com/a/1532547/2111085)示例來測試速度。所以我的結果是:緩慢經過29672毫秒; 快速過去15毫秒。所以答案很明顯。但是如果它是100次迭代 - 時間是相同的 - 0毫秒。如果500次迭代 - 16毫秒和0毫秒。等等。 –

相關問題