常用類之String StringBuffer StringBuilder比較
String(不可變字符串序列)
StringBuffer(線程安全的可變字符串序列)
StringBuilder(非線程安全的可變字符串序列)
個人理解(僅供參考,歡迎指正):
1.String是不可變的,StringBuffer/StringBuilder 是可變的。
2.String類提供更加豐富的功能函數(相對另外兩個)。
3.頻繁的做字符串增減操作時,處於性能優化的角度請考慮使用StringBuffer/StringBuilder,因爲這個時候它工作的實質還是轉換成可變序列然後再做操作。
4.StringBuilder是JDK1.5開始出現的類,他和StringBuffer的用法幾乎一樣,只不過他是非線程安全的。所以在單線程不需要考慮線程安全(同步問題)的時候,優先選擇使用StringBuilder,因爲他沒有線程安全的相關操作,性能上會略顯優勢。
使用選擇建議:
Stirng:對字符串序列自身增減變化少,功能複雜的字符串操作時。
StringBuffer:對字符串增減操作較多,多線程下 需要考慮同步問題(需要線程安全)時。
StringBuilder:對字符串增減操作較多的,不需要考慮線程安全時。