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