String,StringBuffer,StringBuilder的區別

(一)String,StringBuffer,StringBuilder的區別安全

1.主要區別在於運行速度和線程安全這兩方面。多線程

①:運行速度【執行速度】---->StringBuilder >StringBuffer >Stingui

String最慢的緣由:spa

String是字符串常量【不可更改】;StringBufferStringBuilder均爲字符串變量【能夠更改】。
線程

②:線程安全:對象

在線程安全上,StringBuilder線程不安全的,而StringBuffder線程安全的。字符串

  若是一個StringBuffer對象在字符串緩衝區被多個線程使用時,StringBuffer中不少方法能夠帶有synchronized關鍵字,因此能夠保證線程是安全,但StringBuilder的方法則沒有該關鍵字,因此不能保證線程安全,有可能會出現一些錯誤的操做。因此若是要進行的操做是多線程的,那麼就要使用StringBuffer,可是在單線程的狀況下,仍是建議使用速度比較快的StringBuilder變量

2.總結一下方法

String:適用於少許字符串操做的狀況下。線程安全

StringBuilder:適用於單線程下在字符緩衝區進行大量操做的狀況。

StringBuffer:適用於多線程下在字符緩衝區進行大量的操做。

相關文章
相關標籤/搜索