字符串緩沖區(qū)可以被多個線程安全地使用。 這些方法在需要的時侯可以同步執(zhí)行,因而任一特定實例的所有操作就好象是以串行的次序發(fā)生 。
字符串緩沖區(qū)被編譯器用來實現連接兩個字符串的運算符+。 例如,代碼:
x = "a" + 4 + "c"
被編譯成等價的:
x = new StringBuffer().append("a").append(4).append("c")
.toString()
在 StringBuffer 上的基本操作是 append 和insert 方法,它們都被覆蓋以接受任意類型的數據。
每個方法都迅速地把所給的數據轉換成一個字符串,并且把該字符串的字符添加或插入
到字符串緩沖區(qū)中。
append 方法常常把這些字符添加到緩沖區(qū)的末端;
而 insert 方法則把這些字符添加到指定的地方 。
例如,如果 z 指的是一個字符串緩沖區(qū)內的對象 ,其當前的內容是 "start",于是通過調用方法z.append("le") 會使字符串緩沖區(qū)的內容變成"startle",而
z.insert(4, "le") 將使緩沖區(qū)的內容變成
"starlet"。
每一個字符串緩沖區(qū)都有一定的容量。 只要字符串緩沖區(qū)存儲的字符序列的
長度沒有超過它的容量,就無須申請新的內部緩沖數組 。
如果內部的緩沖區(qū)溢出,它將自動加以擴大。
java.lang.Object
|
+----java.lang.StringBuffer
字符串緩沖區(qū)實現可變字符序列。
length 設定。boolean 型參數的字符串表示添加到字符串緩沖區(qū)。char 型參數的字符串表示添加到字符串緩沖區(qū)。char 型數組參數的字符串表示添加到字符串緩沖區(qū)。char 型數組參數的子數組的字符串表示添加到字符串緩沖區(qū)。double 型參數的字符串表示添加到該字符串緩沖區(qū)。float 型參數的字符串表示添加到該字符串緩沖區(qū)。int 型參數的字符串表示添加到該字符串緩沖區(qū)。long 型參數的字符串表示添加到該字符串緩沖區(qū)。Object 型參數的字符串表示添加到該字符串緩沖區(qū)。dst。boolean 型參數的字符串表示添加到該字符串緩沖區(qū)。char 型參數的字符串表示添加到該字符串緩沖區(qū)。char 型數組參數的字符串表示添加到該字符串緩沖區(qū)。double 型參數的字符串表示添加到該字符串緩沖區(qū)。float 型參數的字符串表示添加到該字符串緩沖區(qū)。int 型參數表示的字符串插入到該字符串緩沖區(qū)。long 型參數的字符串表示插入到該字符串緩沖區(qū)。Object 型參數的字符串表示插入到該字符串緩沖區(qū)。ch。
public StringBuffer()
public StringBuffer(int length)
length 設置。
length 小于 0。
public StringBuffer(String str)
16 加上字符串參數的長度。
public int length()
public int capacity()
public synchronized void ensureCapacity(int minimumCapacity)
minimumCapacity 。2.minimumCapacity 非正,該方法不作任何操作,只簡單地返回。
public synchronized void setLength(int newLength)
newLength 小于該字符串緩沖區(qū)的當前長度。newLength 給出的字符數。
如果參數 newLength 大于或等于當前的長度,就用 null 字符 ('\u0000')補齊該字符串緩沖區(qū),以使長度變?yōu)閰?newLength 指定的長度。
參數 newLength 必須大于或等于 0。
newLength 是 非法的。
public synchronized char charAt(int index)
字符串緩沖區(qū)的第一個字符的索引是 0,下一個的索引是1,對于索引數組依次類推。
偏移參量必須大于或等于 0,但是小于字符串緩沖區(qū)的長度。
public synchronized void getChars(int srcBegin,
int srcEnd,
char dst[],
int dstBegin)
dst。 第一個要復制的字符在下標srcBegin; 最后一個要復制的字符在下標 srcEnd-1 。 要復制的字符總數是srcEnd-srcBegin 。 要復制到 dst 子數組的字符開始于下標 dstBegin,結束于下標
dstbegin + (srcEnd-srcBegin) - 1
dst 的偏移量。
public synchronized void setCharAt(int index,
char ch)
ch。
偏移參量必須大于或等于 0,但小于字符串緩沖區(qū)的長度。
public synchronized StringBuffer append(Object obj)
Object 型參數的字符串表示添加到該字符串緩沖區(qū)。
參數先轉換成一個字符串,就好象通過 String.valueOf 方法一樣,并且該字符串的字符隨后被添加到了字符串緩沖區(qū)。
public synchronized StringBuffer append(String str)
把參數 String 的字符依次添加到字符串緩沖區(qū)中,字符串緩沖區(qū)長度的增加值為該參數的長度。
public synchronized StringBuffer append(char str[])
char 型數組參數的字符串表示添加到字符串緩沖區(qū)。
把數組參數的字符依次添加到字符串緩沖區(qū)中。
字符串緩沖區(qū)的長度的增加值為參數的長度。
public synchronized StringBuffer append(char str[],
int offset,
int len)
char 型數組參數的子數組的字符串表示添加到字符串緩沖區(qū)。
把字符數組 str 從下標 offset 開始的字符,依次添加到了字符串緩沖區(qū)的內容中。
該字符串緩沖區(qū)的長度增加了
len。
public StringBuffer append(boolean b)
boolean 型參數的字符串表示添加到字符串緩沖區(qū)。
參數先轉換成一個字符串,就好象通過 String.valueOf 方法一樣,并且該字符串的字符接著也添加到了字符串緩沖區(qū)。
public synchronized StringBuffer append(char c)
char 型參數的字符串表示添加到字符串緩沖區(qū)。
參數添加到字符串緩沖區(qū)的內容中。
字符串緩沖區(qū)的長度增加了 1。
char。
public StringBuffer append(int i)
int 型參數的字符串表示添加到該字符串緩沖區(qū)。
參數先轉換成一個字符串,就好象通過 String.valueOf 方法一樣,并且該字符串的字符隨后被添加到了字符串緩沖區(qū)。
public StringBuffer append(long l)
long 型參數的字符串表示添加到該字符串緩沖區(qū)。
參數先轉換成一個字符串,就好象通過 String.valueOf 方法一樣,并且該字符串的字符隨后被添加到了字符串緩沖區(qū)。
public StringBuffer append(float f)
float 型參數的字符串表示添加到該字符串緩沖區(qū)。
參數先轉換成一個字符串,就好象通過 String.valueOf 方法一樣,并且該字符串的字符隨后被添加到了字符串緩沖區(qū)。
public StringBuffer append(double d)
double 型參數的字符串表示添加到該字符串緩沖區(qū)。
參數先轉換成一個字符串,就好象通過 String.valueOf 方法一樣,并且該字符串的字符隨后被添加到了字符串緩沖區(qū)。
public synchronized StringBuffer insert(int offset,
Object obj)
Object 型參數的字符串表示插入到字符串緩沖區(qū)。
第二個參數先轉換成一個字符串,就好象通過 String.valueOf 方法一樣,并且該字符串的字符隨后被插入到字符串緩沖區(qū)的指定偏移位置。
偏移參量必須大于或等于 0,小于或等于字符串緩沖區(qū)的長度。
Object.
public synchronized StringBuffer insert(int offset,
String str)
參數 String 的字符依次插入到字符串緩沖區(qū)的指定偏移位置。
字符串緩沖區(qū)的長度的增加值為參數的長度。
偏移參量必須大于或等于 0,小于或等于字符串緩沖區(qū)的長度。
public synchronized StringBuffer insert(int offset,
char str[])
char 型數組參數的字符串表示添加到該字符串緩沖區(qū)。
把數組參數的字符添加到字符串緩沖區(qū)里由 offset 指定的位置。 字符串緩沖區(qū)長度的增加值為參數的長度。
public StringBuffer insert(int offset,
boolean b)
boolean 型參數的字符串表示添加到該字符串緩沖區(qū)。
第二個參數先轉換成一個字符串,就好象通過 String.valueOf 方法一樣,并且該字符串的字符被添加到了字符串緩沖區(qū)指定的偏移位置。
偏移參量必須大于或等于 0,小于或等于字符串緩沖區(qū)的長度。
boolean 量。
public synchronized StringBuffer insert(int offset,
char c)
char 型參數的字符串表示添加到該字符串緩沖區(qū)。
把第二個參數表示的字符插入到字符串緩沖區(qū)里由 offset 指定的位置。 字符串緩沖區(qū)的長度增加了 1 。
偏移參量必須大于或等于
0,小于或等于字符串緩沖區(qū)的長度。
char。
public StringBuffer insert(int offset,
int i)
int 型參數的字符串表示插入到該字符串緩沖區(qū)。
第二個參數先轉換成一個字符串,就好象通過 String.valueOf 方法一樣,并且該字符串的字符隨后被添加到了字符串緩沖區(qū)指定的偏移位置。
偏移參量必須大于或等于 0,小于或等于字符串緩沖區(qū)的長度。
int.
public StringBuffer insert(int offset,
long l)
long 型參數的字符串表示插入到該字符串緩沖區(qū)。
第二個參數先轉換成一個字符串,就好象通過 String.valueOf 方法一樣,并且該字符串的字符隨后被添加到了字符串緩沖區(qū)指定的偏移位置。
偏移參量必須大于或等于 0,小于或等于字符串緩沖區(qū)的長度。
long.
public StringBuffer insert(int offset,
float f)
float 的字符串表示添加到該字符串緩沖區(qū)。
第二個參數先轉換成一個字符串,就好象通過 String.valueOf 方法一樣,并且該字符串的字符隨后被添加到了字符串緩沖區(qū)指定的偏移位置。
偏移參量必須大于或等于 0,小于或等于字符串緩沖區(qū)的長度。
float.
public StringBuffer insert(int offset,
double d)
double 的字符串表示添加到該字符串緩沖區(qū)。
第二個參數先轉換成一個字符串,就好象通過 String.valueOf 方法一樣,并且該字符串的字符隨后被添加到了字符串緩沖區(qū)指定的偏移位置。
偏移參量必須大于或等于 0,小于或等于字符串緩沖區(qū)的長度。
double.
public synchronized StringBuffer reverse()
public String toString()
String 對象,并且用字符串緩沖區(qū)所表示的字符序列進行初始化。String 被返回。 隨后緩沖區(qū)發(fā)生的變化不再影響該 String 的內容。