2013-05-21 78 views
2

對於下面的代碼,我應該在靜態方法中使用哪個類,StringBuilderStringBuffer?基於API,StringBuffer是線程安全的,但StringBuilder不是。這個靜態方法使用哪個類,StringBuffer或StringBuilder?

public static String getString(int[] arrs) { 
    StringBuilder sb = new StringBuilder(); //1 
    StringBuffer sb = new StringBuffer(); //2 
    for (int i : arrs) { 
     sb.append(i); 
    } 
    return sb.toString(); 
} 
+0

同樣的問題已被問了很多很多次。 –

回答

2

爲什麼要擔心線程安全性與您顯示的代碼?如果您的StringBuilder沒有被用於需要擔心線程安全的方式,那麼不要花費不必要的開銷。使用StringBuilder。

5

這是一個方法,局部變量,你不會有併發訪問那裏......所以使用StringBuilder

2

根據經驗,一般情況下,如果一個局部變量,而不是發放到另一個線程,不需要任何螺紋保護。你的StringBuilder完全是本地的方法。

0

使用StringBuilder,因爲有loacal可變方法

相關問題