天天看點

String,StringBuffer,StringBuilder三者的差別及StringBuffer的使用關于String,StringBuffer,StringBuilder的總結

關于String,StringBuffer,StringBuilder的總結

1.三者之間的對比

   首先三者的執行速度(運作速度)是: StringBuilder>StringBuffer>String。

   String适合少量字元串的操作情況。

   StringBuilder适合單線程下在字元緩沖區進行大量操作

   StringBuilder适合多線程下在字元緩沖區進行大量操作

   單線程情況下使用StringBuilder就可以避免使用String是所帶來的記憶體大量占用,即StringBuilder可以在存儲後進行增删改插。多線程則使用StringBuffer。

   首先StringBuffer的很多方法都帶有synchronized修飾,是以保證了線程安全,即一旦有一個線程通路了本對象則其他線程無法通路,而且修改後的對象内容也會直接存儲重新整理,不會出現髒讀。但是StringBuilder并沒有這種安全機制,但是在單線程中卻有着很良好的性能。

2.StringBuilder的使用:

   方法1增:append(Str a)尾部插入字元串。

   方法2插:insert(int 插入坐标,Str a) 将字元串a插入指定位置。

   方法3删:delete(int start, int end)将字元串從開始到結束下标内的字元串删除。

   方法4改:replace(int start,int end,String str)将字元串從開始位置到結束位置之間的内容替換為str字元串的内容。

   方法5替換内容:replaceAll(正規表達式,String a),使用表達式将指定内容替換成字元串a。(和諧神器)

   方法6 查:StringBuilder的toString()傳回一個與本對象的建構器或者緩存器内容相同的字元串。

   方法7::split(正則) 比對出本字元串中所有的以正則為切片點的字元串數組。