Java StringBuffer & StringBuilder類
StringBuffer和StringBuilder類適用於有必要做大量的修改字符的字符串。
不同類型的StringBuffer和StringBuilder的字符串對象可以被修改了一遍又一遍用了留下了不少新的未使用的對象。
StringBuilder類從Java 5被引入,StringBuffer和StringBuilder之間的主要區彆在於StringBuilders方法不是線程安全的(不是同步)。
推薦使用StringBuilder,因為它比StringBuffer的速度更快。但是,如果線程安全是必要的最好的選擇StringBuffer對象。
例子:
public class Test{ public static void main(String args[]){ StringBuffer sBuffer = new StringBuffer(" test"); sBuffer.append(" String Buffer"); System.ou.println(sBuffer); } }
這將產生以下結果:
test String Buffer
StringBuffer 方法:
這裡是由StringBuffer類支持的重要方法列表:
SN | 描述方法 |
---|---|
1 |
public StringBuffer append(String s) 更新調用該方法的對象的值。該方法接受 boolean, char, int, long, Strings 等。 |
2 |
public StringBuffer reverse() 該方法將反轉調用該方法的StringBuffer對象的值。 |
3 |
public delete(int start, int end) 刪除從起始索引開始直到結束索引的字符串。 |
4 |
public insert(int offset, int i) 此方法將一個字符串s 在所提到的offset位置。 |
5 |
replace(int start, int end, String str) 此方法取代字符,StringBuffer的一個子字符串在指定字符串中的字符。 |
下麵是其他方法(除了set方法),它是非常相似的String類的方法:
SN | 方法描述 |
---|---|
1 |
int capacity() 返回字符串緩衝區的當前容量。 |
2 |
char charAt(int index) 目前由字符串緩衝區為代表,由index參數所指示的順序指定的字符返回。 |
3 |
void ensureCapacity(int minimumCapacity) 保證了緩衝器的容量是至少等於指定的最小值。 |
4 |
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 字符從字符串緩衝區拷貝到目標字符數組dst。 |
5 |
int indexOf(String str) 返回此字符串指定子字符串的第一次出現處的索引. |
6 |
int indexOf(String str, int fromIndex) 返回索引這個字符串中指定子字符串的第一次出現處,從指定的索引處. |
7 |
int lastIndexOf(String str) 返回此字符串指定子字符串的最右邊出現處的索引. |
8 |
int lastIndexOf(String str, int fromIndex) 返回此字符串指定的子串的最後一次出現處的索引. |
9 |
int length() 返回此字符串緩衝區的長度(字符數). |
10 |
void setCharAt(int index, char ch) 該字符串緩衝區的指定索引處的字符設置為ch。 |
11 |
void setLength(int newLength) 設置此字符串緩衝區的長度。 |
12 |
CharSequence subSequence(int start, int end) 返回一個新的字符序列,這個序列的子序列。 |
13 |
String substring(int start) 返回一個新的String,它包含當前包含在這個StringBuffer的字符序列。該子字符串從指定的索引處,並延伸到StringBuffer的末尾。 |
14 |
String substring(int start, int end) 返回一個新的String,它包含當前包含在這個StringBuffer的字符序列。 |
15 |
String toString() 轉換為代表該字符串緩衝區的數據的字符串。 |