區(qū)別:
1.速度:String<stringbuilder<StringBuffer
string是常量,不可更改,每次改變值都是一次新建和回收原來str的過程。但是其他兩個(gè)可以修改,所以String是最慢的。
2.在線程安全上,StringBuilder是線程不安全的,而StringBuffer是線程安全的
如果一個(gè)StringBuffer對(duì)象在字符串緩沖區(qū)被多個(gè)線程使用時(shí),StringBuffer中很多方法可以帶有synchronized關(guān)鍵字,所以可以保證線程是安全的,但StringBuilder的方法則沒有該關(guān)鍵字,所以不能保證線程安全,有可能會(huì)出現(xiàn)一些錯(cuò)誤的操作。所以如果要進(jìn)行的操作是多線程的,那么就要使用StringBuffer,但是在單線程的情況下,還是建議使用速度比較快的StringBuilder。