字符串缓冲区可以被多个线程安全地使用。 这些方法在需要的时侯可以同步执行,因而任一特定实例的所有操作就好象是以串行的次序发生 。
字符串缓冲区被编译器用来实现连接两个字符串的运算符+。 例如,代码:
x = "a" + 4 + "c"
被编译成等价的:
x = new StringBuffer().append("a").append(4).append("c")
.toString()
在 StringBuffer 上的基本操作是 append 和insert 方法,它们都被覆盖以接受任意类型的数据。
每个方法都迅速地把所给的数据转换成一个字符串,并且把该字符串的字符添加或插入
到字符串缓冲区中。
append 方法常常把这些字符添加到缓冲区的末端;
而 insert 方法则把这些字符添加到指定的地方 。
例如,如果 z 指的是一个字符串缓冲区内的对象 ,其当前的内容是 "start",于是通过调用方法z.append("le") 会使字符串缓冲区的内容变成"startle",而
z.insert(4, "le") 将使缓冲区的内容变成
"starlet"。
每一个字符串缓冲区都有一定的容量。 只要字符串缓冲区存储的字符序列的
长度没有超过它的容量,就无须申请新的内部缓冲数组 。
如果内部的缓冲区溢出,它将自动加以扩大。
java.lang.Object
|
+----java.lang.StringBuffer
字符串缓冲区实现可变字符序列。
length 设定。boolean 型参数的字符串表示添加到字符串缓冲区。char 型参数的字符串表示添加到字符串缓冲区。char 型数组参数的字符串表示添加到字符串缓冲区。char 型数组参数的子数组的字符串表示添加到字符串缓冲区。double 型参数的字符串表示添加到该字符串缓冲区。float 型参数的字符串表示添加到该字符串缓冲区。int 型参数的字符串表示添加到该字符串缓冲区。long 型参数的字符串表示添加到该字符串缓冲区。Object 型参数的字符串表示添加到该字符串缓冲区。dst。boolean 型参数的字符串表示添加到该字符串缓冲区。char 型参数的字符串表示添加到该字符串缓冲区。char 型数组参数的字符串表示添加到该字符串缓冲区。double 型参数的字符串表示添加到该字符串缓冲区。float 型参数的字符串表示添加到该字符串缓冲区。int 型参数表示的字符串插入到该字符串缓冲区。long 型参数的字符串表示插入到该字符串缓冲区。Object 型参数的字符串表示插入到该字符串缓冲区。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 小于该字符串缓冲区的当前长度。newLength 给出的字符数。
如果参数 newLength 大于或等于当前的长度,就用 null 字符 ('\u0000')补齐该字符串缓冲区,以使长度变为参数 newLength 指定的长度。
参数 newLength 必须大于或等于 0。
newLength 是 非法的。
public synchronized char charAt(int index)
字符串缓冲区的第一个字符的索引是 0,下一个的索引是1,对于索引数组依次类推。
偏移参量必须大于或等于 0,但是小于字符串缓冲区的长度。
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,但小于字符串缓冲区的长度。
public synchronized StringBuffer append(Object obj)
Object 型参数的字符串表示添加到该字符串缓冲区。
参数先转换成一个字符串,就好象通过 String.valueOf 方法一样,并且该字符串的字符随后被添加到了字符串缓冲区。
public synchronized StringBuffer append(String str)
把参数 String 的字符依次添加到字符串缓冲区中,字符串缓冲区长度的增加值为该参数的长度。
public synchronized StringBuffer append(char str[])
char 型数组参数的字符串表示添加到字符串缓冲区。
把数组参数的字符依次添加到字符串缓冲区中。
字符串缓冲区的长度的增加值为参数的长度。
public synchronized StringBuffer append(char str[],
int offset,
int len)
char 型数组参数的子数组的字符串表示添加到字符串缓冲区。
把字符数组 str 从下标 offset 开始的字符,依次添加到了字符串缓冲区的内容中。
该字符串缓冲区的长度增加了
len。
public StringBuffer append(boolean b)
boolean 型参数的字符串表示添加到字符串缓冲区。
参数先转换成一个字符串,就好象通过 String.valueOf 方法一样,并且该字符串的字符接着也添加到了字符串缓冲区。
public synchronized StringBuffer append(char c)
char 型参数的字符串表示添加到字符串缓冲区。
参数添加到字符串缓冲区的内容中。
字符串缓冲区的长度增加了 1。
char。
public StringBuffer append(int i)
int 型参数的字符串表示添加到该字符串缓冲区。
参数先转换成一个字符串,就好象通过 String.valueOf 方法一样,并且该字符串的字符随后被添加到了字符串缓冲区。
public StringBuffer append(long l)
long 型参数的字符串表示添加到该字符串缓冲区。
参数先转换成一个字符串,就好象通过 String.valueOf 方法一样,并且该字符串的字符随后被添加到了字符串缓冲区。
public StringBuffer append(float f)
float 型参数的字符串表示添加到该字符串缓冲区。
参数先转换成一个字符串,就好象通过 String.valueOf 方法一样,并且该字符串的字符随后被添加到了字符串缓冲区。
public StringBuffer append(double d)
double 型参数的字符串表示添加到该字符串缓冲区。
参数先转换成一个字符串,就好象通过 String.valueOf 方法一样,并且该字符串的字符随后被添加到了字符串缓冲区。
public synchronized StringBuffer insert(int offset,
Object obj)
Object 型参数的字符串表示插入到字符串缓冲区。
第二个参数先转换成一个字符串,就好象通过 String.valueOf 方法一样,并且该字符串的字符随后被插入到字符串缓冲区的指定偏移位置。
偏移参量必须大于或等于 0,小于或等于字符串缓冲区的长度。
Object.
public synchronized StringBuffer insert(int offset,
String str)
参数 String 的字符依次插入到字符串缓冲区的指定偏移位置。
字符串缓冲区的长度的增加值为参数的长度。
偏移参量必须大于或等于 0,小于或等于字符串缓冲区的长度。
public synchronized StringBuffer insert(int offset,
char str[])
char 型数组参数的字符串表示添加到该字符串缓冲区。
把数组参数的字符添加到字符串缓冲区里由 offset 指定的位置。 字符串缓冲区长度的增加值为参数的长度。
public StringBuffer insert(int offset,
boolean b)
boolean 型参数的字符串表示添加到该字符串缓冲区。
第二个参数先转换成一个字符串,就好象通过 String.valueOf 方法一样,并且该字符串的字符被添加到了字符串缓冲区指定的偏移位置。
偏移参量必须大于或等于 0,小于或等于字符串缓冲区的长度。
boolean 量。
public synchronized StringBuffer insert(int offset,
char c)
char 型参数的字符串表示添加到该字符串缓冲区。
把第二个参数表示的字符插入到字符串缓冲区里由 offset 指定的位置。 字符串缓冲区的长度增加了 1 。
偏移参量必须大于或等于
0,小于或等于字符串缓冲区的长度。
char。
public StringBuffer insert(int offset,
int i)
int 型参数的字符串表示插入到该字符串缓冲区。
第二个参数先转换成一个字符串,就好象通过 String.valueOf 方法一样,并且该字符串的字符随后被添加到了字符串缓冲区指定的偏移位置。
偏移参量必须大于或等于 0,小于或等于字符串缓冲区的长度。
int.
public StringBuffer insert(int offset,
long l)
long 型参数的字符串表示插入到该字符串缓冲区。
第二个参数先转换成一个字符串,就好象通过 String.valueOf 方法一样,并且该字符串的字符随后被添加到了字符串缓冲区指定的偏移位置。
偏移参量必须大于或等于 0,小于或等于字符串缓冲区的长度。
long.
public StringBuffer insert(int offset,
float f)
float 的字符串表示添加到该字符串缓冲区。
第二个参数先转换成一个字符串,就好象通过 String.valueOf 方法一样,并且该字符串的字符随后被添加到了字符串缓冲区指定的偏移位置。
偏移参量必须大于或等于 0,小于或等于字符串缓冲区的长度。
float.
public StringBuffer insert(int offset,
double d)
double 的字符串表示添加到该字符串缓冲区。
第二个参数先转换成一个字符串,就好象通过 String.valueOf 方法一样,并且该字符串的字符随后被添加到了字符串缓冲区指定的偏移位置。
偏移参量必须大于或等于 0,小于或等于字符串缓冲区的长度。
double.
public synchronized StringBuffer reverse()
public String toString()
String 对象,并且用字符串缓冲区所表示的字符序列进行初始化。String 被返回。 随后缓冲区发生的变化不再影响该 String 的内容。