|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.lang.Object java.lang.StringBuffer
public final class StringBuffer
线程安全的可变字符序列。一个类似于 String
的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。
可将字符串缓冲区安全地用于多个线程。可以在必要时对这些方法进行同步,因此任意特定实例上的所有操作就好像是以串行顺序发生的,该顺序与所涉及的每个线程进行的方法调用顺序一致。
StringBuffer
上的主要操作是 append
和 insert
方法,可重载这些方法,以接受任意类型的数据。每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符追加或插入到字符串缓冲区中。append
方法始终将这些字符添加到缓冲区的末端;而 insert
方法则在指定的点添加字符。
例如,如果 z
引用一个当前内容为 "start
" 的字符串缓冲区对象,则此方法调用 z.append("le")
会使字符串缓冲区包含 "startle
",而 z.insert(4, "le")
将更改字符串缓冲区,使之包含 "starlet
"。
通常,如果 sb 引用 StringBuilder
的一个实例,则 sb.append(x)
和 sb.insert(sb.length(), x)
具有相同的效果。
当发生与源序列有关的操作(如源序列中的追加或插入操作)时,该类只在执行此操作的字符串缓冲区上而不是在源上实现同步。
每个字符串缓冲区都有一定的容量。只要字符串缓冲区所包含的字符序列的长度没有超出此容量,就无需分配新的内部缓冲区数组。如果内部缓冲区溢出,则此容量自动增大。从 JDK 5 开始,为该类补充了一个单个线程使用的等价类,即 StringBuilder
。与该类相比,通常应该优先使用 StringBuilder 类,因为它支持所有相同的操作,但由于它不执行同步,所以速度更快。
StringBuilder
,
String
,
序列化表格
构造方法摘要 | |
---|---|
StringBuffer() 构造一个其中不带字符的字符串缓冲区,其初始容量为 16 个字符。 |
|
StringBuffer(CharSequence seq) public java.lang.StringBuilder(CharSequence seq) 构造一个字符串缓冲区,它包含与指定的 CharSequence 相同的字符。 |
|
StringBuffer(int capacity) 构造一个不带字符,但具有指定初始容量的字符串缓冲区。 |
|
StringBuffer(String str) 构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。 |
方法摘要 | |
---|---|
StringBuffer |
append(boolean b) 将 boolean 参数的字符串表示形式追加到序列。 |
StringBuffer |
append(char c) 将 char 参数的字符串表示形式追加到此序列。 |
StringBuffer |
append(char[] str) 将 char 数组参数的字符串表示形式追加到此序列。 |
StringBuffer |
append(char[] str, int offset, int len) 将 char 数组参数的子数组的字符串表示形式追加到此序列。 |
StringBuffer |
append(CharSequence s) 将指定的 CharSequence 追加到该序列。 |
StringBuffer |
append(CharSequence s, int start, int end) 将指定 CharSequence 的子序列追加到此序列。 |
StringBuffer |
append(double d) 将 double 参数的字符串表示形式追加到此序列。 |
StringBuffer |
append(float f) 将 float 参数的字符串表示形式追加到此序列。 |
StringBuffer |
append(int i) 将 int 参数的字符串表示形式追加到此序列。 |
StringBuffer |
append(long lng) 将 long 参数的字符串表示形式追加到此序列。 |
StringBuffer |
append(Object obj) 追加 Object 参数的字符串表示形式。 |
StringBuffer |
append(String str) 将指定的字符串追加到此字符序列。 |
StringBuffer |
append(StringBuffer sb) 将指定的 StringBuffer 追加到此序列中。 |
StringBuffer |
appendCodePoint(int codePoint) 将 codePoint 参数的字符串表示形式追加到此序列。 |
int |
capacity() 返回当前容量。 |
char |
charAt(int index) 返回此序列中指定索引处的 char 值。 |
int |
codePointAt(int index) 返回指定索引处的字符(统一代码点)。 |
int |
codePointBefore(int index) 返回指定索引前的字符(统一代码点)。 |
int |
codePointCount(int beginIndex, int endIndex) 返回此序列指定文本范围内的统一代码点。 |
StringBuffer |
delete(int start, int end) 移除此序列的子字符串中的字符。 |
StringBuffer |
deleteCharAt(int index) 移除此序列指定位置的 char 。 |
void |
ensureCapacity(int minimumCapacity) 确保容量至少等于指定的最小值。 |
void |
getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 将字符从此序列复制到目标字符数组 dst 。 |
int |
indexOf(String str) 返回第一次出现的指定子字符串在该字符串中的索引。 |
int |
indexOf(String str, int fromIndex) 从指定的索引处开始,返回第一次出现的指定子字符串在该字符串中的索引。 |
StringBuffer |
insert(int offset, boolean b) 将 boolean 参数的字符串表示形式插入此序列中。 |
StringBuffer |
insert(int offset, char c) 将 char 参数的字符串表示形式插入此序列中。 |
StringBuffer |
insert(int offset, char[] str) 将 char 数组参数的字符串表示形式插入此序列中。 |
StringBuffer |
insert(int index, char[] str, int offset, int len) 将数组参数 str 的子数组的字符串表示形式插入此序列中。 |
StringBuffer |
insert(int dstOffset, CharSequence s) 将指定 CharSequence 插入此序列中。 |
StringBuffer |
insert(int dstOffset, CharSequence s, int start, int end) 将指定 CharSequence 的子序列插入此序列中。 |
StringBuffer |
insert(int offset, double d) 将 double 参数的字符串表示形式插入此序列中。 |
StringBuffer |
insert(int offset, float f) 将 float 参数的字符串表示形式插入此序列中。 |
StringBuffer |
insert(int offset, int i) 将 int 参数的字符串表示形式插入此序列中。 |
StringBuffer |
insert(int offset, long l) 将 long 参数的字符串表示形式插入此序列中。 |
StringBuffer |
insert(int offset, Object obj) 将 Object 参数的字符串表示形式插入此字符序列中。 |
StringBuffer |
insert(int offset, String str) 将字符串插入此字符序列中。 |
int |
lastIndexOf(String str) 返回最右边出现的指定子字符串在此字符串中的索引。 |
int |
lastIndexOf(String str, int fromIndex) 返回最后一次出现的指定子字符串在此字符串中的索引。 |
int |
length() 返回长度(字符数)。 |
int |
offsetByCodePoints(int index, int codePointOffset) 返回此序列中的一个索引,该索引是从给定 index 偏移 codePointOffset 个代码点后得到的。 |
StringBuffer |
replace(int start, int end, String str) 使用给定 String 中的字符替换此序列的子字符串中的字符。 |
StringBuffer |
reverse() 将此字符序列用其反转形式取代。 |
void |
setCharAt(int index, char ch) 将给定索引处的字符设置为 ch 。 |
void |
setLength(int newLength) 设置字符序列的长度。 |
CharSequence |
subSequence(int start, int end) 返回一个新的字符序列,该字符序列是此序列的子序列。 |
String |
substring(int start) 返回一个新的 String ,它包含此字符序列当前所包含的字符子序列。 |
String |
substring(int start, int end) 返回一个新的 String ,它包含此序列当前所包含的字符子序列。 |
String |
toString() 返回此序列中数据的字符串表示形式。 |
void |
trimToSize() 尝试减少用于字符序列的存储空间。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
构造方法详细信息 |
---|
public StringBuffer()
public StringBuffer(int capacity)
capacity
- 初始容量。
NegativeArraySizeException
- 如果
capacity
参数小于
0
。
public StringBuffer(String str)
16
加上字符串参数的长度。
str
- 缓冲区的初始内容。
NullPointerException
- 如果
str
为
null
public StringBuffer(CharSequence seq)
CharSequence
相同的字符。该字符串缓冲区的初始容量为
16
加上
CharSequence
参数的长度。
如果指定的 CharSequence
的长度小于或等于 0,则返回容量为 16
的空缓冲区。
seq
- 要复制的序列。
NullPointerException
- 如果
seq
为
null
方法详细信息 |
---|
public int length()
CharSequence
中的
length
public int capacity()
public void ensureCapacity(int minimumCapacity)
minimumCapacity
参数。 2
。 minimumCapacity
参数为非正数,则此方法不执行任何操作并返回。
minimumCapacity
- 所需的最小容量。
public void trimToSize()
capacity()
方法时返回的值(但不要求如此)。
public void setLength(int newLength)
newLength
参数的非负索引
k,如果
k 小于原字符序列的长度,则新字符序列索引
k 处的字符与原字符序列索引
k 处的字符相同;否则,新字符序列索引
k 处的字符将是 null 字符
'\u0000'
。换句话说,如果
newLength
参数小于当前长度,则长度将更改为指定的长度。
如果 newLength
参数大于或等于当前长度,则将追加有效的 null 字符 ('\u0000'
),使长度满足 newLength
参数。
newLength
参数必须大于或等于 0
。
newLength
- 新长度
IndexOutOfBoundsException
- 如果
newLength
参数为负。
length()
public char charAt(int index)
char
值。第一个
char
值在索引
0
处,第二个在索引
1
处,依此类推,这类似于数组索引。
index 参数必须大于等于 0
,且小于此序列的长度。
如果索引处指定的 char
值是一个代理项,则返回该代理项的值。
CharSequence
中的
charAt
index
- 所需
char
值的索引。
char
值。
IndexOutOfBoundsException
- 如果
index
为负或大于等于
length()
。
length()
public int codePointAt(int index)
char
值(Unicode 代码单元),其范围是从
0
到
length()
- 1
。
如果给定索引指定的 char
值属于高代理项范围,则后续索引小于此序列的长度;如果后续索引处的 char
值属于低代理项范围,则返回此代理项对 (surrogate pair) 对应的增补代码点。否则,返回给定索引处的 char
值。
index
-
char
值的索引。
index
处字符的代码点值。
public int codePointBefore(int index)
char
值(Unicode 代码单元),其范围是从
1
到
length()
。
如果 (index - 1)
处的 char
值属于低代理项范围,则 (index - 2)
为非负;如果(index - 2)
处的 char
值属于高代理项范围,则返回该代理项对的增补代码点值。如果 index - 1
处的 char
值是未配对的低(高)代理项,则返回代理项值。
index
- 应该返回的代码点之后的索引。
public int codePointCount(int beginIndex, int endIndex)
beginIndex
,并扩展到索引
endIndex - 1
上的
char
。因此文本范围的长度(
char
形式)为
endIndex-beginIndex
。该序列中每个未配对的代理项都被作为一个代码点进行计数。
beginIndex
- 文本范围的第一个
char
的索引。
endIndex
- 文本范围的最后一个
char
之后的索引。
public int offsetByCodePoints(int index, int codePointOffset)
index
偏移
codePointOffset
个代码点后得到的。
index
和
codePointOffset
给出的文本范围内的不成对代理项是按一个代码点算作一个项进行计数的。
index
- 将进行偏移的索引
codePointOffset
- 用代码点计算的偏移量
public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
dst
。要复制的第一个字符在索引
srcBegin
处;要复制的最后一个字符在索引
srcEnd-1
处。要复制的字符总数为
srcEnd-srcBegin
。要复制到
dst
子数组的字符从索引
dstBegin
处开始,结束于以下索引:
dstbegin + (srcEnd-srcBegin) - 1
srcBegin
- 从此偏移量处开始复制。
srcEnd
- 在此偏移量处停止复制。
dst
- 用来保存复制数据的数组。
dstBegin
-
dst
中的偏移量。
NullPointerException
- 如果
dst
为
null
。
IndexOutOfBoundsException
- 如果以下任意一项为 true:
srcBegin
为负 dstBegin
为负 srcBegin
参数大于 srcEnd
参数。 srcEnd
大于 this.length()
。 dstBegin+srcEnd-srcBegin
大于 dst.length
public void setCharAt(int index, char ch)
ch
。此序列将被转换,以表示等同于原字符序列的新字符序列,唯一的不同在于新序列在
index
处包含
ch
。
index 参数必须大于等于 0
,且小于此序列的长度。
index
- 要修改的字符的索引。
ch
- 新字符。
IndexOutOfBoundsException
- 如果
index
为负或大于等于
length()
。
length()
public StringBuffer append(Object obj)
Object
参数的字符串表示形式。
参数将被转换成字符串,就好象使用了 String.valueOf
方法一样。然后,将所得字符串中的字符追加到此序列。
obj
- 一个
Object
。
String.valueOf(java.lang.Object)
,
append(java.lang.String)
public StringBuffer append(String str)
按顺序追加 String
变量中的字符,使此序列增加该变量的长度。如果 str
为 null
,则追加 4 个字符 "null"
。
假设此字符序列的长度在执行 append
方法前为 n。如果 k 小于 n,则新字符序列中索引 k 处的字符等于原序列中索引 k 处的字符;否则它等于参数 str
中索引 k-n 处的字符。
str
- 一个 string。
public StringBuffer append(StringBuffer sb)
按顺序将 StringBuffer 参数中的字符追加到此 StringBuffer 中,并使 StringBuffer 在长度上增加该参数的长度。如果 sb 为 null,则将 4 个 "null" 字符追加到此 StringBuffer 中。
在执行 append 方法前,让 StringBuffer 中包含的原有字符序列的长度为 n。如果 k 小于 n,则新字符序列中索引 k 处的字符等于原有字符序列中索引 k 处的字符;否则它等于参数 sb
中索引 k-n 处的字符。
该方法在 this
(目标)对象上实现同步,但不在源(sb
)上实现同步。
sb
- 要追加的
StringBuffer。
public StringBuffer append(CharSequence s)
CharSequence
追加到该序列。
按顺序将 CharSequence
参数中的字符追加到该序列中,使该序列增加该参数的长度。
该方法的结果与调用 this.append(s, 0, s.length()) 的结果完全相同;
该方法在 this(目标)对象上实现同步,但不在源(s
)上实现同步。
如果 s
为 null
,则追加 4 个 "null"
字符。
Appendable
中的
append
s
- 要追加的
CharSequence
。
public StringBuffer append(CharSequence s, int start, int end)
CharSequence
的子序列追加到此序列。
按顺序追加参数 s
中的字符,即从索引 start
开始到索引 end
结束的此序列的内容。此序列增加的长度为 end - start
。
假设此字符序列的长度在执行 append
方法前为 n。如果 k 小于 n,则新字符序列中索引 k 处的字符等于原序列中索引 k 处的字符;否则它等于参数 s
中索引 k+start-n 处的字符。
如果 s
为 null
,则认为 s 参数包含 4 个字符 "null"
,并以此为根据追加字符。
Appendable
中的
append
s
- 要追加的序列。
start
- 要追加的子序列的起始索引。
end
- 要追加的子序列的结束索引。
IndexOutOfBoundsException
如果
start
或
end
为负;或者
start
大于
end
;或者
end
大于
s.length()
public StringBuffer append(char[] str)
char
数组参数的字符串表示形式追加到此序列。
按顺序将数组参数中的字符追加到此序列的内容中。此字符将增加该参数的长度。
该方法的总体效果与以下操作过程的效果相同:先使用 String.valueOf(char[])
方法将参数转换为字符串,然后将所得字符串的字符追加
到此字符序列。
str
- 要追加的字符。
public StringBuffer append(char[] str, int offset, int len)
char
数组参数的子数组的字符串表示形式追加到此序列。
将 char
数组 str
中的字符按顺序追加到此序列的内容中,从索引 offset
开始。此字符的长度将增加 len
。
该方法的最终效果与以下操作过程的效果相同:先使用 String.valueOf(char[])
方法将参数转换为字符串,然后将所得字符串的字符追加
到此字符序列。
str
- 要追加的字符。
offset
- 要追加的第一个
char
的索引。
len
- 要追加的
char
的数量。
public StringBuffer append(boolean b)
boolean
参数的字符串表示形式追加到序列。
参数将被转换成字符串,就好象使用了 String.valueOf
方法一样。然后,将所得字符串中的字符追加到此序列。
b
- 一个
boolean
值。
String.valueOf(boolean)
,
append(java.lang.String)
public StringBuffer append(char c)
char
参数的字符串表示形式追加到此序列。
参数将被追加到此序列。此序列的长度将增加 1
。
该方法的最终效果与以下操作过程的效果相同:先使用 String.valueOf(char[])
方法将参数转换为字符串,然后将所得字符串的字符追加
到此字符序列。
Appendable
中的
append
c
- 一个
char
值。
public StringBuffer append(int i)
int
参数的字符串表示形式追加到此序列。
参数将被转换成字符串,就好象使用了 String.valueOf
方法一样。然后,将所得字符串中的字符追加到此序列。
i
- 一个
int
值。
String.valueOf(int)
,
append(java.lang.String)
public StringBuffer appendCodePoint(int codePoint)
codePoint
参数的字符串表示形式追加到此序列。
参数将被追加到此序列。此序列的长度将增加 Character.charCount(codePoint)
。
该方法的最终效果与以下操作过程的效果相同:先使用 Character.toChars(int)
方法将 char
数组转换为字符串,然后将所得字符串的字符追加
到此字符序列。
codePoint
- 一个 Unicode 代码点
public StringBuffer append(long lng)
long
参数的字符串表示形式追加到此序列。
参数将被转换成字符串,就好象使用了 String.valueOf
方法一样。然后,将所得字符串中的字符追加到此序列。
lng
- 一个
long
值。
String.valueOf(long)
,
append(java.lang.String)
public StringBuffer append(float f)
float
参数的字符串表示形式追加到此序列。
参数将被转换成字符串,就好象使用了 String.valueOf
方法一样。然后被所得字符串中的字符追加到此字符串序列。
f
- 一个
float
值。
String.valueOf(float)
,
append(java.lang.String)
public StringBuffer append(double d)
double
参数的字符串表示形式追加到此序列。
参数将被转换成字符串,就好象使用了 String.valueOf
方法一样。然后,将所得字符串中的字符追加到此序列。
d
- 一个
double
值。
String.valueOf(double)
,
append(java.lang.String)
public StringBuffer delete(int start, int end)
start
处开始,一直到索引
end - 1
处的字符,如果不存在这种字符,则一直到序列尾部。如果
start
等于
end
,则不发生任何更改。
start
- 起始索引(包含)。
end
- 结束索引(不包含)。
StringIndexOutOfBoundsException
- 如果
start
为负、大于
length()
或大于
end
。
public StringBuffer deleteCharAt(int index)
char
。此序列将缩短一个
char
。
注:如果给定索引处的字符是增补字符,则此方法将不会移除整个字符。如果需要准确处理增补字符,那么可以通过调用 Character.charCount(thisSequence.codePointAt(index))
(用此序列取代 thisSequence
)来确定要移除的 char
的数量。
index
- 要移除的
char
的索引
StringIndexOutOfBoundsException
- 如果
index
为负或大于等于
length()
。
public StringBuffer replace(int start, int end, String str)
String
中的字符替换此序列的子字符串中的字符。该子字符串从指定的
start
处开始,一直到索引
end - 1
处的字符,如果不存在这种字符,则一直到序列尾部。先将子字符串中的字符移除,然后将指定的
String
插入
start
。(如果需要,序列将延长以适应指定的字符串。)
start
- 起始索引(包含)。
end
- 结束索引(不包含)。
str
- 将替换原有内容的字符串。
StringIndexOutOfBoundsException
- 如果
start
为负、大于
length()
或大于
end
。
public String substring(int start)
String
,它包含此字符序列当前所包含的字符子序列。该子字符串始于指定索引处的字符,一直到此字符串末尾。
start
- 起始索引(包含)。
StringIndexOutOfBoundsException
- 如果
start
小于 0,或大于此对象的长度。
public CharSequence subSequence(int start, int end)
调用该方法的形式为:
与下列方法调用完全相同:sb.subSequence(begin, end)
提供此方法是为了使此类能够实现sb.substring(begin, end)
CharSequence
接口。
CharSequence
中的
subSequence
start
- 起始索引(包含)。
end
- 结束索引(不包含)。
IndexOutOfBoundsException
- 如果
start 或
end 为负数;如果
end 大于
length(),或者
start 大于
end
public String substring(int start, int end)
String
,它包含此序列当前所包含的字符子序列。该子字符串从指定的
start
处开始,一直到索引
end - 1
处的字符。
start
- 起始索引(包含)。
end
- 结束索引(不包含)。
StringIndexOutOfBoundsException
- 如果
start
或
end
为负数或大于
length()
;如果
start
大于
end
。
public StringBuffer insert(int index, char[] str, int offset, int len)
str
数组参数的子数组的字符串表示形式插入此序列中。其中子数组从指定的
offset
开始,包含
len
个
char
。子数组的字符将被插入
index
所指示的位置。此序列的长度将增加
len
个
char
。
index
- 要插入子数组中的位置。
str
- 一个
char
数组。
offset
- 将插入子数组中的第一个
char
的索引。
len
- 将插入子数组中的
char
的数量。
StringIndexOutOfBoundsException
- 如果
index
为负或大于
length()
;或者
offset
或
len
为负;或者
(offset+len)
大于
str.length
。
public StringBuffer insert(int offset, Object obj)
Object
参数的字符串表示形式插入此字符序列中。
第二个参数将被转换成字符串,就好象使用了 String.valueOf
方法一样。然后,将所得字符串中的字符追加到此序列。
offset 参数必须大于等于 0
,且小于等于此序列的长度。
offset
- 偏移量。
obj
- 一个
Object
。
StringIndexOutOfBoundsException
- 如果 offset 参数无效。
String.valueOf(java.lang.Object)
,
insert(int, java.lang.String)
,
length()
public StringBuffer insert(int offset, String str)
按顺序将 String
参数中的字符插入此序列中的指定位置,将该位置处原来的字符向后移,此序列将增加该参数的长度。如果 str
为 null
,则向此序列中追加 4 个字符 "null"
。
新字符序列在索引 k 处的字符有以下几种情况:
offset
,则等于原字符序列中索引 k 处的字符。 offset
但小于 offset+str.length()
,则等于 str
参数中索引 k-offset
中的字符。 offset+str.length()
,则等于原字符序列中索引 k-str.length()
处的字符 offset 参数必须大于等于 0
,且小于等于此序列的长度。
offset
- 偏移量。
str
- 一个 string。
StringIndexOutOfBoundsException
- 如果 offset 参数无效。
length()
public StringBuffer insert(int offset, char[] str)
char
数组参数的字符串表示形式插入此序列中。
数组参数的字符将被插入此序列中 offset
所指示的位置处。此字符将增加该参数的长度。
该方法的最终效果与以下操作过程的效果相同:先使用 String.valueOf(char[])
方法将参数转换为字符串,然后将所得字符串的字符插入
到此字符序列中 offset
所指示的位置。
offset
- 偏移量。
str
- 一个字符数组。
StringIndexOutOfBoundsException
- 如果 offset 参数无效。
public StringBuffer insert(int dstOffset, CharSequence s)
CharSequence
插入此序列中。
按顺序将 CharSequence
参数中的字符插入此序列中的指定位置,位于该位置处的原来的字符则将向后推移,此序列将增加该参数的长度。
此方法的最终效果与调用此对象的 insert(dstOffset, s, 0, s.length()) 方法的效果完全相同。
如果 s
为 null
,则向此序列中追加 4 个字符 "null"
。
dstOffset
- 偏移量。
s
- 要插入的序列。
StringIndexOutOfBoundsException
- 如果 offset 参数无效。
public StringBuffer insert(int dstOffset, CharSequence s, int start, int end)
CharSequence
的子序列插入此序列中。
参数 s
中,由 start
和 end
指示的子序列将按顺序被插入此序列指定的目标偏移量处,位于该位置的任何原有字符都将向后移。序列的长度将增加 end - start
。
此字符序列在索引 k 处的字符将有以下几种情况:
dstOffset
,则等于原字符序列中索引 k 处的字符 dstOffset
但小于 dstOffset+end-start
,则等于 s
参数中索引 k+start-dstOffset
处的字符 dstOffset+end-start
,则等于此序列中索引 k-(end-start)
处的字符 dstOffset 参数必须大于等于 0
,并小于等于此序列的长度。
start 参数必须为非负,但不得大于 end
。
end 数必须大于等于 start
,且小于等于 s 的长度。
如果 s
为 null
,则认为 s 参数包含 4 个字符 "null"
,并以此为根据插入字符。
dstOffset
- 此序列中的偏移量。
s
- 要插入的序列。
start
- 要插入的子序列的起始索引。
end
- 要插入的子序列的结束索引。
IndexOutOfBoundsException
- 如果
dstOffset
为负或大于
this.length()
;或者
start
或
end
为负;或者
start
大于
end
;或者
end
大于
s.length()
public StringBuffer insert(int offset, boolean b)
boolean
参数的字符串表示形式插入此序列中。
第二个参数将被转换成字符串,就好象使用了 String.valueOf
方法一样。然后,将所得字符串中的字符追加到此序列。
offset 参数必须大于等于 0
,且小于等于此序列的长度。
offset
- 偏移量。
b
- 一个
boolean
值。
StringIndexOutOfBoundsException
- 如果 offset 参数无效。
String.valueOf(boolean)
,
insert(int, java.lang.String)
,
length()
public StringBuffer insert(int offset, char c)
char
参数的字符串表示形式插入此序列中。
第二个参数将被插入此序列中 offset
指示的位置处。此序列的长度将增加 1。
该方法的最终效果与以下操作的效果相同:先使用 String.valueOf(char)
方法将参数转换为字符串,然后将所得字符串中的字符插入
此字符序列中 offset
指定的位置处。
offset 参数必须大于等于 0
,且小于等于此序列的长度。
offset
- 偏移量。
c
- 一个
char
值。
StringIndexOutOfBoundsException
- 如果 offset 参数无效。
length()
public StringBuffer insert(int offset, int i)
int
参数的字符串表示形式插入此序列中。
第二个参数将被转换成字符串,就好象使用了 String.valueOf
方法一样。然后,将所得字符串中的字符追加到此序列。
offset 参数必须大于等于 0
,且小于等于此序列的长度。
offset
- 偏移量。
i
- 一个
int
值。
StringIndexOutOfBoundsException
- 如果 offset 参数无效。
String.valueOf(int)
,
insert(int, java.lang.String)
,
length()
public StringBuffer insert(int offset, long l)
long
参数的字符串表示形式插入此序列中。
第二个参数将被转换成字符串,就好象使用了 String.valueOf
方法一样。然后,将所得字符串中的字符追加到此序列中 offset
指示的位置处。
offset 参数必须大于等于 0
,且小于等于此序列的长度。
offset
- 偏移量。
l
- 一个
long
值。
StringIndexOutOfBoundsException
- 如果 offset 参数无效。
String.valueOf(long)
,
insert(int, java.lang.String)
,
length()
public StringBuffer insert(int offset, float f)
float
参数的字符串表示形式插入此序列中。
第二个参数将被转换成字符串,就好象使用了 String.valueOf
方法一样。然后,将所得字符串中的字符追加到此序列。
offset 参数必须大于等于 0
,且小于等于此序列的长度。
offset
- 偏移量。
f
- 一个
float
值。
StringIndexOutOfBoundsException
- 如果 offset 参数无效。
String.valueOf(float)
,
insert(int, java.lang.String)
,
length()
public StringBuffer insert(int offset, double d)
double
参数的字符串表示形式插入此序列中。
第二个参数将被转换成字符串,就好象使用了 String.valueOf
方法一样。然后,将所得字符串中的字符追加到此序列。
offset 参数必须大于等于 0
,且小于等于此序列的长度。
offset
- 偏移量。
d
- 一个
double
值。
StringIndexOutOfBoundsException
- 如果 offset 参数无效。
String.valueOf(double)
,
insert(int, java.lang.String)
,
length()
public int indexOf(String str)
this.toString().startsWith(str, k)
str
- 任意字符串。
-1
。
NullPointerException
- 如果
str
为
null
。
public int indexOf(String str, int fromIndex)
如果不存在这样的 k 值,则返回 -1。k >= Math.min(fromIndex, str.length()) && this.toString().startsWith(str, k)
str
- 要搜索的子字符串。
fromIndex
- 搜索开始处的索引。
NullPointerException
- 如果
str
为
null
。
public int lastIndexOf(String str)
this.length()
处。返回的索引是满足以下条件的最大
k 值:
this.toString().startsWith(str, k)
str
- 要搜索的子字符串。
-1
。
NullPointerException
- 如果
str
为
null
。
public int lastIndexOf(String str, int fromIndex)
如果不存在这样的 k 值,则返回 -1。k <= Math.min(fromIndex, str.length()) && this.toString().startsWith(str, k)
str
- 要搜索的子字符串。
fromIndex
- 搜索开始处的索引。
NullPointerException
- 如果
str
为
null
。
public StringBuffer reverse()
reverse
方法前此字符序列的字符长度(并非
char
值的长度),则新字符序列中索引
k 处的字符将等于原字符序列索引
n-k-1 处的字符。
注意,进行 reverse 操作后,执行操作前未成对的低代理项和高代理项将成为代理项对。例如,反转 "\uDC00\uD800" 将生成有效的代理项对 "\uD800\uDC00"。
public String toString()
String
对象,并将它初始化,以包含当前由此对象表示的字符串序列。然后返回此
String
。对此序列的后续更改不影响该
String
的内容。
CharSequence
中的
toString
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。