public final class StringBuffer
extends Object
implements CharSequence, Serializable, Appendable, CharSequence
java.lang.Object | |
↳ | java.lang.StringBuffer |
一个线程安全的,可变的字符序列。 字符串缓冲区就像String
,但可以修改。 在任何时候它都包含一些特定的字符序列,但是序列的长度和内容可以通过某些方法调用来改变。
字符串缓冲区对于多线程使用是安全的。 这些方法在必要时进行同步,以便任何特定实例上的所有操作的行为就好像它们以某种连续顺序发生,这与每个涉及的各个线程所进行的方法调用的顺序一致。
StringBuffer
的主要操作是append
和insert
方法,它们被重载以便接受任何类型的数据。 每个函数都有效地将给定的数据转换为字符串,然后将该字符串的字符追加或插入字符串缓冲区。 append
方法总是在缓冲区的末尾添加这些字符; insert
方法在指定的点添加字符。
例如,如果 z
引用当前内容为“ start
”的字符串缓冲对象,则方法调用 z.append("le")
将导致字符串缓冲区包含“ startle
”,而 z.insert(4, "le")
会将字符串缓冲区更改为包含“ starlet
”。
一般情况下,如果某人是指的一个实例 StringBuffer
,然后 sb.append(x)
具有相同的效果 sb.insert(sb.length(), x)
。
无论何时发生涉及源序列的操作(例如追加或从源序列中插入),该类只在执行操作的字符串缓冲区上同步,而不在源上同步。
每个字符串缓冲区都有容量。 只要字符串缓冲区中包含的字符序列的长度不超过容量,就不需要分配新的内部缓冲区数组。 如果内部缓冲区溢出,它会自动变大。 从发布JDK 5开始,这个类已经补充了一个为单线程使用而设计的等效类StringBuilder
。 应该优先使用StringBuilder类,因为它支持所有相同的操作,但速度更快,因为它不执行同步。
也可以看看:
Public constructors |
|
---|---|
StringBuffer() 构造一个没有字符的字符串缓冲区,初始容量为16个字符。 |
|
StringBuffer(int capacity) 构造一个没有字符的字符串缓冲区和指定的初始容量。 |
|
StringBuffer(String str) 构造一个字符串缓冲区,初始化为指定字符串的内容。 |
|
StringBuffer(CharSequence seq) 构造一个字符串缓冲区,其中包含与指定的 |
Public methods |
|
---|---|
StringBuffer |
append(boolean b) 将 |
StringBuffer |
append(long lng) 将 |
StringBuffer |
append(char c) 将 |
StringBuffer |
append(Object obj) 附加 |
StringBuffer |
append(char[] str, int offset, int len) 将 |
StringBuffer |
append(double d) 将 |
StringBuffer |
append(char[] str) 将 |
StringBuffer |
append(String str) 将指定的字符串附加到此字符序列。 |
StringBuffer |
append(StringBuffer sb) 追加指定的 StringBuffer到这个序列。 |
StringBuffer |
append(float f) 将 |
StringBuffer |
append(int i) 将 |
StringBuffer |
append(CharSequence s, int start, int end) 将指定的 |
StringBuffer |
append(CharSequence s) 将指定的 |
StringBuffer |
appendCodePoint(int codePoint) 将 |
int |
capacity() 返回当前容量。 |
char |
charAt(int index) 以指定的索引返回此序列中的 |
int |
codePointAt(int index) 返回指定索引处的字符(Unicode码点)。 |
int |
codePointBefore(int index) 返回指定索引之前的字符(Unicode码点)。 |
int |
codePointCount(int beginIndex, int endIndex) 返回此序列的指定文本范围内的Unicode代码点数。 |
StringBuffer |
delete(int start, int end) 删除此序列的子字符串中的字符。 |
StringBuffer |
deleteCharAt(int index) 按照此顺序移除指定位置的 |
void |
ensureCapacity(int minimumCapacity) 确保容量至少等于规定的最小值。 |
void |
getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 将字符从此序列复制到目标字符数组 |
int |
indexOf(String str) 返回指定子字符串第一次出现的此字符串中的索引。 |
int |
indexOf(String str, int fromIndex) 从指定索引处开始,返回指定子字符串第一次出现的此字符串中的索引。 |
StringBuffer |
insert(int offset, char[] str) 将 |
StringBuffer |
insert(int offset, float f) 将 |
StringBuffer |
insert(int dstOffset, CharSequence s) 将指定的 |
StringBuffer |
insert(int offset, char c) 将 |
StringBuffer |
insert(int offset, long l) 将 |
StringBuffer |
insert(int index, char[] str, int offset, int len) 将 |
StringBuffer |
insert(int offset, int i) 将第二个 |
StringBuffer |
insert(int offset, String str) 将字符串插入到此字符序列中。 |
StringBuffer |
insert(int offset, double d) 将参数 |
StringBuffer |
insert(int dstOffset, CharSequence s, int start, int end) 将指定的 |
StringBuffer |
insert(int offset, Object obj) 将该字符序列中的参数 |
StringBuffer |
insert(int offset, boolean b) 将参数 |
int |
lastIndexOf(String str, int fromIndex) 返回指定子字符串最后一次出现的此字符串中的索引。 |
int |
lastIndexOf(String str) 返回指定子字符串最右边出现的字符串中的索引。 |
int |
length() 返回长度(字符数)。 |
int |
offsetByCodePoints(int index, int codePointOffset) 返回此序列,其从给定的偏移处的索引 |
StringBuffer |
replace(int start, int end, String str) 用指定的 |
StringBuffer |
reverse() 导致该字符序列被序列的反向替换。 |
void |
setCharAt(int index, char ch) 指定索引处的字符设置为 |
void |
setLength(int newLength) 设置字符序列的长度。 |
CharSequence |
subSequence(int start, int end) 返回一个新的字符序列,该序列是该序列的子序列。 |
String |
substring(int start, int end) 返回一个新的 |
String |
substring(int start) 返回一个新的 |
String |
toString() 返回表示此序列中数据的字符串。 |
void |
trimToSize() 尝试减少用于字符序列的存储空间。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
|
From interface java.lang.CharSequence
|
|
From interface java.lang.Appendable
|
StringBuffer (int capacity)
构造一个没有字符的字符串缓冲区和指定的初始容量。
Parameters | |
---|---|
capacity |
int : the initial capacity. |
Throws | |
---|---|
NegativeArraySizeException |
if the capacity argument is less than 0 . |
StringBuffer (String str)
构造一个字符串缓冲区,初始化为指定字符串的内容。 字符串缓冲区的初始容量是16
加上字符串参数的长度。
Parameters | |
---|---|
str |
String : the initial contents of the buffer. |
Throws | |
---|---|
NullPointerException |
if str is null |
StringBuffer (CharSequence seq)
构造一个字符串缓冲区,其中包含与指定的CharSequence
相同的字符。 字符串缓冲的初始容量为16
加上的长度CharSequence
参数。
如果指定的 CharSequence
的长度小于或等于零,则返回容量为 16
的空缓冲区。
Parameters | |
---|---|
seq |
CharSequence : the sequence to copy. |
Throws | |
---|---|
NullPointerException |
if seq is null |
StringBuffer append (boolean b)
将 boolean
参数的字符串表示形式追加到序列中。
总体效果就好像参数被方法 valueOf(boolean)
转换为字符串,并且该字符串的字符然后是该字符序列的 ERROR(appended/#append(String) appended)
。
Parameters | |
---|---|
b |
boolean : a boolean . |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
StringBuffer append (long lng)
将 long
参数的字符串表示追加到此序列。
总体效果就好像通过方法 valueOf(long)
将参数转换为字符串,然后该字符串的字符对该字符序列为 ERROR(appended/#append(String) appended)
。
Parameters | |
---|---|
lng |
long : a long . |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
StringBuffer append (char c)
在此序列中追加 char
参数的字符串表示形式。
该参数被附加到该序列的内容。 这个序列的长度增加了1
。
整体效果就好像参数被方法 valueOf(char)
转换为字符串,并且该字符串中的字符然后是该字符序列的 ERROR(appended/#append(String) appended)
。
Parameters | |
---|---|
c |
char : a char . |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
StringBuffer append (Object obj)
附加 Object
参数的字符串表示形式。
总体效果就好像参数被方法 valueOf(Object)
转换为字符串,并且该字符串的字符然后是该字符序列的 ERROR(appended/#append(String) appended)
。
Parameters | |
---|---|
obj |
Object : an Object . |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
StringBuffer append (char[] str, int offset, int len)
将 char
数组参数的子阵列的字符串表示追加到该序列。
所述的字符char
阵列str
,开始于索引offset
,追加,为了以该序列的内容。 该序列的长度增加了len
的值。
整体效果就好像参数通过方法 valueOf(char[], int, int)
转换为字符串,然后该字符串的字符对此字符序列为 ERROR(appended/#append(String) appended)
。
Parameters | |
---|---|
str |
char : the characters to be appended. |
offset |
int : the index of the first char to append. |
len |
int : the number of char s to append. |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
Throws | |
---|---|
IndexOutOfBoundsException |
StringBuffer append (double d)
将 double
参数的字符串表示追加到该序列。
整体效果就好像参数被方法 valueOf(double)
转换为字符串,并且该字符串的字符然后是 ERROR(appended/#append(String) appended)
到该字符序列。
Parameters | |
---|---|
d |
double : a double . |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
StringBuffer append (char[] str)
将 char
数组参数的字符串表示追加到此序列中。
数组参数的字符按顺序附加到该序列的内容。 这个序列的长度增加了参数的长度。
总体效果就好像参数被方法 valueOf(char[])
转换为字符串,然后该字符串的字符为 ERROR(appended/#append(String) appended)
。
Parameters | |
---|---|
str |
char : the characters to be appended. |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
StringBuffer append (String str)
将指定的字符串附加到此字符序列。
String
参数的字符按顺序附加在该参数的长度上,从而增加该序列的长度。 如果str
是null
,则附加四个字符"null"
。
设n是在执行append
方法之前的这个字符序列的长度。 那么如果k小于n ,则新字符序列中索引k处的字符等于旧字符序列中索引k处的字符; 否则,它等于参数str
中参数kn处的字符。
Parameters | |
---|---|
str |
String : a string. |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
StringBuffer append (StringBuffer sb)
追加指定的 StringBuffer到这个序列。
StringBuffer参数的字符按顺序附加到此StringBuffer的内容中,将参数长度增加StringBuffer的长度。 如果sb是null ,那么四个字符"null"被追加到这个StringBuffer 。
设n是旧字符序列的长度,即执行append方法之前包含在StringBuffer中的那个字符序列的长度。 那么如果k小于n ,则新字符序列中索引k处的字符等于旧字符序列中索引k处的字符; 否则,它等于参数sb
中指数kn处的字符。
此方法同步 this
(目标)对象,但不同步源( sb
)。
Parameters | |
---|---|
sb |
StringBuffer : the StringBuffer to append. |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
StringBuffer append (float f)
将 float
参数的字符串表示追加到该序列。
总体效果就好像参数被方法 valueOf(float)
转换为字符串,并且该字符串的字符然后是 ERROR(appended/#append(String) appended)
这个字符序列。
Parameters | |
---|---|
f |
float : a float . |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
StringBuffer append (int i)
将 int
参数的字符串表示追加到此序列。
整体效果就好像参数被方法 valueOf(int)
转换为字符串,然后该字符串的字符为 ERROR(appended/#append(String) appended)
即可。
Parameters | |
---|---|
i |
int : an int . |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
StringBuffer append (CharSequence s, int start, int end)
将指定的 CharSequence
序列 CharSequence
到该序列。
从索引start
开始的参数s
字符按顺序附加到该序列的内容直到(排他)索引end
。 该序列的长度增加了end - start
的值。
假设n是执行append
方法之前的这个字符序列的长度。 然后在该字符序列索引k处的字符变为等于在索引k此序列中的字符,如果k小于n; 否则,它等于参数s
中索引为k + start-n的s
。
如果 s
是 null
,那么此方法会附加字符,就像s参数是包含四个字符 "null"
的序列 "null"
。
Parameters | |
---|---|
s |
CharSequence : the sequence to append. |
start |
int : the starting index of the subsequence to be appended. |
end |
int : the end index of the subsequence to be appended. |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
Throws | |
---|---|
IndexOutOfBoundsException |
StringBuffer append (CharSequence s)
追加指定的 CharSequence
到这个序列。
CharSequence
参数的字符按顺序附加,按顺序将参数的长度增加该序列的长度。
该方法的结果与调用this.append(s,0,s.length())完全相同;
此方法在此(目标)对象上同步,但不在源上同步( s
)。
如果 s
是 null
,则附加四个字符 "null"
。
Parameters | |
---|---|
s |
CharSequence : the CharSequence to append. |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
StringBuffer appendCodePoint (int codePoint)
将 codePoint
参数的字符串表示追加到此序列。
该参数被附加到该序列的内容。 这个序列的长度增加Character.charCount(codePoint)
。
总体效果就好像参数通过方法 toChars(int)
转换为 char
数组,然后该数组中的字符然后是该字符序列的 ERROR(appended/#append(char[]) appended)
。
Parameters | |
---|---|
codePoint |
int : a Unicode code point |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
int capacity ()
返回当前容量。 容量是可用于新插入字符的存储量,超出该容量将进行分配。
Returns | |
---|---|
int |
the current capacity |
char charAt (int index)
以指定索引处的此顺序返回char
值。 第一个char
值为索引0
,下一个索引为1
,依此类推,如数组索引。
索引参数必须大于或等于 0
,并且小于此序列的长度。
如果索引指定的 char
值为 surrogate ,则返回代理值。
Parameters | |
---|---|
index |
int : the index of the desired char value. |
Returns | |
---|---|
char |
the char value at the specified index. |
Throws | |
---|---|
IndexOutOfBoundsException |
也可以看看:
int codePointAt (int index)
返回指定索引处的字符(Unicode码点)。 该索引引用char
值(Unicode代码单元),范围从0
到长度() - 1
。
如果给定索引处指定的char
值处于高代理范围内,则以下索引小于此序列的长度,并且以下索引处的char
值位于低代理范围内,则补充代码点对应于这个代理对被返回。 否则,返回给定索引处的char
值。
Parameters | |
---|---|
index |
int : the index to the char values |
Returns | |
---|---|
int |
the code point value of the character at the index |
int codePointBefore (int index)
返回指定索引之前的字符(Unicode码点)。 该索引引用char
值(Unicode代码单元),范围从1
到length()。
如果char
在值(index - 1)
处于低代理项范围, (index - 2)
不为负,并且char
在值(index - 2)
处于高代理项范围,则返回代理对的补充代码点值。 如果char
在值index - 1
是未配对的低代理或一个高代理,则返回所述替代值。
Parameters | |
---|---|
index |
int : the index following the code point that should be returned |
Returns | |
---|---|
int |
the Unicode code point value before the given index. |
int codePointCount (int beginIndex, int endIndex)
返回此序列的指定文本范围内的Unicode代码点数。 文本范围始于指定beginIndex
并延伸到char
在索引endIndex - 1
。 因此,文本范围的长度( char
s)为endIndex-beginIndex
。 这个序列中的不配对代理每个都计为一个代码点。
Parameters | |
---|---|
beginIndex |
int : the index to the first char of the text range. |
endIndex |
int : the index after the last char of the text range. |
Returns | |
---|---|
int |
the number of Unicode code points in the specified text range |
StringBuffer delete (int start, int end)
删除此序列的子字符串中的字符。 子字符串从指定的start
开始,并且延伸到索引为end - 1
的字符或者如果不存在这样的字符则延伸到序列的末尾。 如果start
等于end
,则不做任何更改。
Parameters | |
---|---|
start |
int : The beginning index, inclusive. |
end |
int : The ending index, exclusive. |
Returns | |
---|---|
StringBuffer |
This object. |
Throws | |
---|---|
StringIndexOutOfBoundsException |
StringBuffer deleteCharAt (int index)
按照此顺序移除指定位置的char
。 这个序列缩短了一个char
。
注意:如果给定索引处的字符是补充字符,则此方法不会删除整个字符。 如果需要的准确处理增补字符,确定数量char
通过调用删除Character.charCount(thisSequence.codePointAt(index))
,其中thisSequence
是此序列。
Parameters | |
---|---|
index |
int : Index of char to remove |
Returns | |
---|---|
StringBuffer |
This object. |
Throws | |
---|---|
StringIndexOutOfBoundsException |
void ensureCapacity (int minimumCapacity)
确保容量至少等于规定的最小值。 如果当前容量小于参数,则会为新的内部阵列分配更大的容量。 新的容量是以下数据中的较大者:
minimumCapacity
argument. 2
. minimumCapacity
argument is nonpositive, this method takes no action and simply returns.
Parameters | |
---|---|
minimumCapacity |
int : the minimum desired capacity. |
void getChars (int srcBegin, int srcEnd, char[] dst, int dstBegin)
将字符从此序列复制到目标字符数组dst
。 第一个要复制的字符位于索引号srcBegin
; 要复制的最后一个字符位于索引srcEnd-1
。 要复制的字符总数为srcEnd-srcBegin
。 字符被复制到dst
的子dst
从索引dstBegin
开始并以索引结束:
dstbegin + (srcEnd-srcBegin) - 1
Parameters | |
---|---|
srcBegin |
int : start copying at this offset. |
srcEnd |
int : stop copying at this offset. |
dst |
char : the array to copy the data into. |
dstBegin |
int : offset into dst . |
Throws | |
---|---|
NullPointerException |
|
IndexOutOfBoundsException |
int indexOf (String str)
返回指定子字符串第一次出现的此字符串中的索引。 返回的整数是最小的值k ,使得:
isthis.toString().startsWith(str, k)
true
.
Parameters | |
---|---|
str |
String : any string. |
Returns | |
---|---|
int |
if the string argument occurs as a substring within this object, then the index of the first character of the first such substring is returned; if it does not occur as a substring, -1 is returned. |
Throws | |
---|---|
NullPointerException |
int indexOf (String str, int fromIndex)
从指定索引处开始,返回指定子字符串第一次出现的此字符串中的索引。 返回的整数是最小值k ,其中:
If no such value of k exists, then -1 is returned.k >= Math.min(fromIndex, str.length()) && this.toString().startsWith(str, k)
Parameters | |
---|---|
str |
String : the substring for which to search. |
fromIndex |
int : the index from which to start the search. |
Returns | |
---|---|
int |
the index within this string of the first occurrence of the specified substring, starting at the specified index. |
Throws | |
---|---|
NullPointerException |
StringBuffer insert (int offset, char[] str)
将 char
数组参数的字符串表示形式插入到此序列中。
数组参数的字符被插入到该序列的内容中offset
指示的位置。 这个序列的长度增加了参数的长度。
整体效果就好像第二个参数通过方法 valueOf(char[])
转换为字符串,然后该字符串的字符在指定的偏移量处为 ERROR(inserted/#insert(int,String) inserted)
转换为此字符序列。
参数 offset
必须大于或等于 0
,并且小于或等于此序列的长度。
Parameters | |
---|---|
offset |
int : the offset. |
str |
char : a character array. |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
Throws | |
---|---|
StringIndexOutOfBoundsException |
StringBuffer insert (int offset, float f)
将 float
参数的字符串表示插入到该序列中。
总体效果就好像第二个参数通过方法 valueOf(float)
转换为字符串,然后该字符串的字符然后在指定的偏移量处插入该字符序列中的 ERROR(inserted/#insert(int,String) inserted)
。
参数 offset
必须大于或等于 0
,并且小于或等于此序列的长度。
Parameters | |
---|---|
offset |
int : the offset. |
f |
float : a float . |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
Throws | |
---|---|
StringIndexOutOfBoundsException |
StringBuffer insert (int dstOffset, CharSequence s)
将指定的 CharSequence
插入此序列中。
参数 CharSequence
的字符按顺序插入指定偏移量的该序列中,向上移动原始位置上方的任何字符,并将该序列的长度增加参数s的长度。
此方法的结果与调用此对象的 ERROR(insert/#insert(int,CharSequence,int,int) insert)
(dstOffset,s,0,s.length())方法 ERROR(insert/#insert(int,CharSequence,int,int) insert)
。
如果 s
是 null
,则将四个字符 "null"
插入此序列中。
Parameters | |
---|---|
dstOffset |
int : the offset. |
s |
CharSequence : the sequence to be inserted |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
Throws | |
---|---|
IndexOutOfBoundsException |
StringBuffer insert (int offset, char c)
将 char
参数的字符串表示插入到该序列中。
总体效果就好像第二个参数通过方法 valueOf(char)
转换为字符串,然后该字符串中的字符以 ERROR(inserted/#insert(int,String) inserted)
转换为指定偏移量的该字符序列。
参数 offset
必须大于或等于 0
,并小于或等于此序列的长度。
Parameters | |
---|---|
offset |
int : the offset. |
c |
char : a char . |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
Throws | |
---|---|
IndexOutOfBoundsException |
StringBuffer insert (int offset, long l)
将参数 long
的字符串表示插入到该序列中。
整体效果就好像第二个参数通过方法 valueOf(long)
转换为字符串,然后该字符串的字符然后在指定的偏移量处插入此字符序列中的 ERROR(inserted/#insert(int,String) inserted)
。
参数 offset
必须大于或等于 0
,并且小于或等于此序列的长度。
Parameters | |
---|---|
offset |
int : the offset. |
l |
long : a long . |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
Throws | |
---|---|
StringIndexOutOfBoundsException |
StringBuffer insert (int index, char[] str, int offset, int len)
将str
数组参数的子数组的字符串表示插入到此序列中。 该子阵列开始于指定的offset
并延伸至len
char
s。 子index
字符在index
指示的位置插入到该序列中。 这个序列的长度增加len
char
。
Parameters | |
---|---|
index |
int : position at which to insert subarray. |
str |
char : A char array. |
offset |
int : the index of the first char in subarray to be inserted. |
len |
int : the number of char s in the subarray to be inserted. |
Returns | |
---|---|
StringBuffer |
This object |
Throws | |
---|---|
StringIndexOutOfBoundsException |
StringBuffer insert (int offset, int i)
将第二 int
参数 int
的字符串表示插入到该序列中。
整体效果就好像第二个参数通过方法 valueOf(int)
转换为字符串,并且该字符串的字符然后在指定的偏移量处插入此字符序列中的 ERROR(inserted/#insert(int,String) inserted)
。
参数 offset
必须大于或等于 0
,并且小于或等于此序列的长度。
Parameters | |
---|---|
offset |
int : the offset. |
i |
int : an int . |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
Throws | |
---|---|
StringIndexOutOfBoundsException |
StringBuffer insert (int offset, String str)
将字符串插入到此字符序列中。
参数String
的字符按顺序插入指定偏移量的该序列中,向上移动位于该位置上方的任何字符,并将该序列的长度增加参数的长度。 如果str
是null
,则将四个字符"null"
插入此序列中。
新字符序列中索引 k处的字符等于:
offset
-offset
in the argument str
, if k is not less than offset
but is less than offset+str.length()
-str.length()
in the old character sequence, if k is not less than offset+str.length()
参数 offset
必须大于或等于 0
,并且小于或等于此序列的长度。
Parameters | |
---|---|
offset |
int : the offset. |
str |
String : a string. |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
Throws | |
---|---|
StringIndexOutOfBoundsException |
StringBuffer insert (int offset, double d)
将 double
参数的字符串表示插入到该序列中。
总体效果就好像第二个参数通过方法 valueOf(double)
转换为字符串,然后该字符串的字符然后在指定的偏移量处插入此字符序列中的 ERROR(inserted/#insert(int,String) inserted)
。
参数 offset
必须大于或等于 0
,并且小于或等于此序列的长度。
Parameters | |
---|---|
offset |
int : the offset. |
d |
double : a double . |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
Throws | |
---|---|
StringIndexOutOfBoundsException |
StringBuffer insert (int dstOffset, CharSequence s, int start, int end)
将指定的 CharSequence
序列插入到该序列中。
参数的子序列s
通过指定start
和end
被插入,以便成在指定的目的地偏移该序列中,该位置上述最初向上运动的任何字符。 这个序列的长度增加了end - start
。
在这个序列中的索引 k处的字符变成等于:
dstOffset
+start-dstOffset
in the argument s
, if k is greater than or equal to dstOffset
but is less than dstOffset+end-start
-(end-start)
in this sequence, if k is greater than or equal to dstOffset+end-start
参数 dstOffset
必须大于或等于 0
,并且小于或等于此序列的长度。
开始参数必须是非负的,不能大于 end
。
结束参数必须大于或等于 start
,小于或等于s的长度。
如果 s
是 null
,则此方法插入字符,就好像s参数是包含四个字符 "null"
的序列 "null"
。
Parameters | |
---|---|
dstOffset |
int : the offset in this sequence. |
s |
CharSequence : the sequence to be inserted. |
start |
int : the starting index of the subsequence to be inserted. |
end |
int : the end index of the subsequence to be inserted. |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
Throws | |
---|---|
IndexOutOfBoundsException |
StringBuffer insert (int offset, Object obj)
将 Object
参数的字符串表示形式插入到此字符序列中。
整体效果就好像第二个参数通过方法 valueOf(Object)
转换为字符串,然后该字符串的字符然后在指定的偏移量处插入此字符序列中的 ERROR(inserted/#insert(int,String) inserted)
。
参数 offset
必须大于或等于 0
,并且小于或等于此序列的长度。
Parameters | |
---|---|
offset |
int : the offset. |
obj |
Object : an Object . |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
Throws | |
---|---|
StringIndexOutOfBoundsException |
StringBuffer insert (int offset, boolean b)
将 boolean
参数的字符串表示插入到该序列中。
整体效果就好像第二个参数通过方法 valueOf(boolean)
转换为字符串,然后该字符串的字符以 ERROR(inserted/#insert(int,String) inserted)
转换为指定偏移量处的该字符序列。
参数 offset
必须大于或等于 0
,并且小于或等于此序列的长度。
Parameters | |
---|---|
offset |
int : the offset. |
b |
boolean : a boolean . |
Returns | |
---|---|
StringBuffer |
a reference to this object. |
Throws | |
---|---|
StringIndexOutOfBoundsException |
int lastIndexOf (String str, int fromIndex)
返回指定子字符串最后一次出现的此字符串中的索引。 返回的整数是最大值k ,使得:
If no such value of k exists, then -1 is returned.k <= Math.min(fromIndex, str.length()) && this.toString().startsWith(str, k)
Parameters | |
---|---|
str |
String : the substring to search for. |
fromIndex |
int : the index to start the search from. |
Returns | |
---|---|
int |
the index within this sequence of the last occurrence of the specified substring. |
Throws | |
---|---|
NullPointerException |
int lastIndexOf (String str)
返回指定子字符串最右边出现的字符串中的索引。 最右边的空字符串“”被认为发生在索引值this.length()
。 返回的索引是这样的最大值k
is true.this.toString().startsWith(str, k)
Parameters | |
---|---|
str |
String : the substring to search for. |
Returns | |
---|---|
int |
if the string argument occurs one or more times as a substring within this object, then the index of the first character of the last such substring is returned. If it does not occur as a substring, -1 is returned. |
Throws | |
---|---|
NullPointerException |
int length ()
返回长度(字符数)。
Returns | |
---|---|
int |
the length of the sequence of characters currently represented by this object |
int offsetByCodePoints (int index, int codePointOffset)
返回此序列,其从给定的偏移处的索引index
通过codePointOffset
代码点。 由index
和codePointOffset
给出的文本范围内的未配对代理每个计为一个代码点。
Parameters | |
---|---|
index |
int : the index to be offset |
codePointOffset |
int : the offset in code points |
Returns | |
---|---|
int |
the index within this sequence |
StringBuffer replace (int start, int end, String str)
用指定的String
的字符替换此序列的子字符串中的字符。 子字符串从指定的start
开始,并延伸到索引为end - 1
的字符,或者如果不存在这样的字符,则延伸到序列的末尾。 首先删除子字符串中的字符,然后在String
处插入指定的start
。 (如果需要,此序列将被延长以适应指定的字符串。)
Parameters | |
---|---|
start |
int : The beginning index, inclusive. |
end |
int : The ending index, exclusive. |
str |
String : String that will replace previous contents. |
Returns | |
---|---|
StringBuffer |
This object. |
Throws | |
---|---|
StringIndexOutOfBoundsException |
StringBuffer reverse ()
导致该字符序列被序列的反向替换。 如果序列中包含任何代理对,则这些代码将被视为反向操作的单个字符。 因此,高低代理人的顺序永远不会颠倒过来。 假设n是在执行reverse
方法之前,此字符序列的字符长度(不是char
值中的长度)。 然后,新字符序列中索引k处的字符等于旧字符序列中索引nk-1处的字符。
请注意,逆向操作可能会导致产生替代对,这些替代对在手术前是不配对的低代孕者和高代孕者。 例如,反转“\ uDC00 \ uD800”会生成“\ uD800 \ uDC00”,这是一个有效的代理对。
Returns | |
---|---|
StringBuffer |
a reference to this object. |
void setCharAt (int index, char ch)
指定索引处的字符设置为ch
。 该序列被改变以表示一个新的字符序列,其是相同的原字符序列,不同之处在于它包含字符ch
在位置index
。
索引参数必须大于或等于 0
,并且小于此序列的长度。
Parameters | |
---|---|
index |
int : the index of the character to modify. |
ch |
char : the new character. |
Throws | |
---|---|
IndexOutOfBoundsException |
也可以看看:
void setLength (int newLength)
设置字符序列的长度。 序列更改为新的字符序列,其长度由参数指定。 对于小于每非负索引k newLength
,在新的字符序列的索引k处的字符是相同的在旧序列索引k如果k小于原字符序列的长度的字符; 否则,它是空字符'\u0000'
。 换句话说,如果参数newLength
小于当前长度,则长度将更改为指定的长度。
如果参数 newLength
大于或等于当前长度,则会附加足够的空字符( '\u0000'
),以使长度变为 newLength
参数。
参数 newLength
必须大于或等于 0
。
Parameters | |
---|---|
newLength |
int : the new length |
Throws | |
---|---|
IndexOutOfBoundsException |
也可以看看:
CharSequence subSequence (int start, int end)
返回一个新的字符序列,该序列是该序列的子序列。
这种形式的方法的调用
behaves in exactly the same way as the invocationsb.subSequence(begin, end)
This method is provided so that this class can implement thesb.substring(begin, end)
CharSequence
interface.
Parameters | |
---|---|
start |
int : the start index, inclusive. |
end |
int : the end index, exclusive. |
Returns | |
---|---|
CharSequence |
the specified subsequence. |
Throws | |
---|---|
IndexOutOfBoundsException |
String substring (int start, int end)
返回一个新的String
,其中包含当前包含在此序列中的字符的子序列。 子字符串从指定的start
开始并延伸到索引号为end - 1
的字符。
Parameters | |
---|---|
start |
int : The beginning index, inclusive. |
end |
int : The ending index, exclusive. |
Returns | |
---|---|
String |
The new string. |
Throws | |
---|---|
StringIndexOutOfBoundsException |
String substring (int start)
返回一个新的String
,其中包含当前包含在此字符序列中的字符的子序列。 子字符串从指定的索引处开始并延伸到该序列的末尾。
Parameters | |
---|---|
start |
int : The beginning index, inclusive. |
Returns | |
---|---|
String |
The new string. |
Throws | |
---|---|
StringIndexOutOfBoundsException |
String toString ()
返回表示此序列中数据的字符串。 一个新的String
对象被分配并初始化以包含当前由该对象表示的字符序列。 然后这个String
被返回。 此序列的后续更改不会影响String
的内容。
Returns | |
---|---|
String |
a string representation of this sequence of characters. |
void trimToSize ()
尝试减少用于字符序列的存储空间。 如果缓冲区比保留当前字符序列所需的缓冲区大,那么可能会调整缓冲区的大小以提高空间利用率。 调用此方法可能会影响随后调用capacity()方法返回的值,但不是必需的。