Java 的 StringBuffer 和 StringBuilder

StringBuffer 和 StringBuilder 的存在是爲了解決 String 對象的 immutable (不可變對象)的問題。


因此 StringBuffer 和 StringBuilder 都是可變對象,但是它們之間還是有一點點不同的,主要是在線程安全上面。

 

 

No. StringBuffer StringBuilder
1) StringBuffer is 是同步的 可以說 StringBuffer 是線程安全的。因此 2 個線程不能同時調用 StringBuffer 。 StringBuilder 是不同步的。因此這 2 個線程是可以同時調用 StringBuilder。
2) StringBuffer 比 StringBuilder 效率要低。 StringBuilder 的效率比 StringBuffer 更高

因爲涉及到線程同步的問題,所以 StringBuffer 和 StringBuilder 的效率是有所差異的。


StringBuilder 是從 JDK 1.5 版本才添加進來的。


在進行字符串拼接或者對字符串涉及到一些操作的時候,可以儘量先使用 StringBuffer 和 StringBuilder 來構建字符串,然後再轉換爲 String 以提高效率。


因爲 JVM 中的對象創建和銷燬是需要資源的。



本文分享自微信公衆號 - CWIKIUS(CWIKIUS)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章