常用類 —— StringBuffer類

StringBuffer類概述及其構造方法

StringBuffer類概述
我們如果對字符串進行拼接操作,每次拼接,都會構建一個新的String對象,既耗時,又浪費空間。而StringBuffer就可以解決這個問題
線程安全的可變字符序列

StringBuffer和String的區別
簡單地說,就是一個變量和常量的關係。StringBuffer對象的內容可以修改;而String對象一旦產生後就不可以被修改,重新賦值其實是兩個對象
StringBuffer的內部實現方式和String不同,StringBuffer在進行字符串處理時,不生成新的對象,在內存使用上要優於String類。所以在實際使用時,如果經常需要對一個字符串進行修改,例如插入、刪除等操作,使用StringBuffer要更加適合一些。
String:在String類中沒有用來改變已有字符串中的某個字符的方法,由於不能改變一個java字符串中的某個單獨字符,所以在JDK文檔中稱String類的對象是不可改變的。然而,不可改變的字符串具有一個很大的優點:編譯器可以把字符串設爲共享的
StringBuffer:StringBuffer類屬於一種輔助類,可預先分配指定長度的內存塊建立一個字符串緩衝區。這樣使用StringBuffer類的append方法追加字符 比 String使用 + 操作符添加字符 到 一個已經存在的字符串後面有效率得多。因爲使用 + 操作符每一次將字符添加到一個字符串中去時,字符串對象都需要尋找一個新的內存空間來容納更大的字符串,這無凝是一個非常消耗時間的操作。添加多個字符也就意味着要一次又一次的對字符串重新分配內存。使用StringBuffer類就避免了這個問題。
StringBuffer是線程安全的,在多線程程序中也可以很方便的進行使用,但是程序的執行效率相對來說就要稍微慢一些。
StringBuffer的常用方法
StringBuffer類中的方法要偏重於對字符串的變化例如追加、插入和刪除等,這個也是StringBuffer和String類的主要區別

構造方法
public StringBuffer()
public StringBuffer(int capacity)
public StringBuffer(String str)

StringBuffer類的成員方法

添加功能
public StringBuffer append(String str)
public StringBuffer insert(int offset,String str)

刪除功能
public StringBuffer deleteCharAt(int index)
public StringBuffer delete(int start,int end)

替換功能
public StringBuffer replace(int start,int end,String str)

反轉功能 public StringBuffer reverse()

截取功能
public String substring(int start)
public String substring(int start,int end)

截取功能和前面幾個功能的不同
返回值類型是String類型,本身沒有發生改變

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