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