类 StringBuffer
compareTo
public int compareTo(StringBuffer another)
按字典顺序比较两个 StringBuffer 实例。此方法遵循与 CharSequence.compare(this, another) 方法中定义的相同的词典比较规则。
对于更细粒度、区域设置敏感的字符串比较,请参阅 Collator 。
指定者:
compareTo 在接口 Comparable
实现注意事项:
此方法在当前对象 this 上同步,但不在与 this StringBuffer 进行比较的 StringBuffer another 上同步。
参数:
another - 要与之比较的 StringBuffer
返回:
值 0 如果这个 StringBuffer 包含与参数 StringBuffer 相同的字符序列;如果此 StringBuffer 按字典顺序小于 StringBuffer 参数,则为负整数;或正整数,如果此 StringBuffer 按字典顺序大于 StringBuffer 参数。
自从:
11
length
public int length()
返回长度(字符数)。
指定者:
length 在接口 CharSequence 中
返回:
此对象当前表示的字符序列的长度
capacity
public int capacity()
返回当前容量。容量是可以存储的字符数(包括已经写入的字符),超过该数量将发生分配。
返回:
目前的容量
ensureCapacity
public void ensureCapacity(int minimumCapacity)
确保容量至少等于指定的最小值。如果当前容量小于参数,则分配一个容量更大的新内部数组。新容量是以下较大者:
minimumCapacity 参数。
旧容量的两倍,加上 2 。
如果 minimumCapacity 参数为非正数,则此方法不执行任何操作并简单地返回。请注意,对该对象的后续操作可能会将实际容量减少到此处请求的容量以下。
参数:
minimumCapacity - 最小所需容量。
trimToSize
public void trimToSize()
尝试减少用于字符序列的存储。如果缓冲区大于容纳其当前字符序列所需的大小,则可以调整其大小以提高空间效率。调用此方法可能(但不是必须)影响后续调用 capacity() 方法返回的值。
自从:
1.5
setLength
public void setLength(int newLength)
设置字符序列的长度。该序列更改为一个新的字符序列,其长度由参数指定。对于每个非负索引k小于 newLength ,索引处的字符k新字符序列中的字符与索引处的字符相同k在旧序列中,如果k小于旧字符序列的长度;否则,它是空字符 '\u0000' 。换句话说,如果newLength参数小于当前长度,则将长度更改为指定长度。
如果 newLength 参数大于或等于当前长度,则会附加足够的空字符 ('\u0000'),以便长度成为 newLength 参数。
newLength 参数必须大于或等于 0。
参数:
newLength - 新长度
抛出:
IndexOutOfBoundsException - 如果 newLength 参数为负。
参见:
length()
charAt
public char charAt(int index)
返回此序列中指定索引处的 char 值。第一个 char 值位于索引 0 ,下一个位于索引 1 ,依此类推,就像在数组索引中一样。
索引参数必须大于或等于 0 且小于此序列的长度。
如果索引指定的 char 值为 代理人 ,则返回代理项值。
指定者:
charAt 在接口 CharSequence 中
参数:
index - 所需 char 值的索引。
返回:
指定索引处的 char 值。
抛出:
IndexOutOfBoundsException - 如果 index 为负或大于或等于 length()。
参见:
length()
codePointAt
public int codePointAt(int index)
返回指定索引处的字符(Unicode 代码点)。索引指的是 char 值(Unicode 代码单元),范围从 0 到 CharSequence.length() - 1 。
如果给定索引处指定的char值在高代理范围内,后续索引小于此序列的长度,且后续索引处的char值在低代理范围内,则补充代码点对应于这个代理对被返回。否则,返回给定索引处的 char 值。
参数:
index - char 值的索引
返回:
index 处字符的代码点值
抛出:
IndexOutOfBoundsException - 如果 index 参数为负数或不小于此序列的长度。
自从:
1.5
codePointBefore
public int codePointBefore(int index)
返回指定索引之前的字符(Unicode 代码点)。索引指的是 char 值(Unicode 代码单元),范围从 1 到 CharSequence.length() 。
如果 (index - 1) 的 char 值在低代理范围内,(index - 2) 不为负,而 (index - 2) 的 char 值在高代理范围内,则返回代理对的补充代码点值。如果 index - 1 处的 char 值是未配对的低代理项或高代理项,则返回代理值。
参数:
index - 应该返回的代码点之后的索引
返回:
给定索引之前的 Unicode 代码点值。
抛出:
IndexOutOfBoundsException - 如果 index 参数小于 1 或大于此序列的长度。
自从:
1.5
codePointCount
public int codePointCount(int beginIndex, int endIndex)
返回此序列的指定文本范围内的 Unicode 代码点数。文本范围从指定的 beginIndex 开始并扩展到索引 endIndex - 1 处的 char。因此,文本范围的长度(以 char s 为单位)为 endIndex-beginIndex 。此序列中未配对的代理每个都计为一个代码点。
参数:
beginIndex - 文本范围第一个 char 的索引。
endIndex - 文本范围最后一个 char 之后的索引。
返回:
指定文本范围内的 Unicode 代码点数
抛出:
IndexOutOfBoundsException - 如果 beginIndex 为负,或者 endIndex 大于此序列的长度,或者 beginIndex 大于 endIndex 。
自从:
1.5
offsetByCodePoints
public int offsetByCodePoints(int index, int codePointOffset)
返回此序列中的索引,该索引从给定的 index 偏移 codePointOffset 代码点。 index 和 codePointOffset 给定的文本范围内的未配对代理各计为一个代码点。
参数:
index - 要偏移的索引
codePointOffset - 代码点的偏移量
返回:
此序列中的索引
抛出:
IndexOutOfBoundsException - 如果 index 为负数或大于该序列的长度,或者如果 codePointOffset 为正数且以 index 开头的子序列少于 codePointOffset 代码点,或者如果 codePointOffset 为负数且 index 之前的子序列少于 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。
抛出:
IndexOutOfBoundsException - 如果以下任何一项为真:
srcBegin 是否定的
dstBegin 是否定的
srcBegin 参数大于 srcEnd 参数。
srcEnd 大于 this.length()。
dstBegin+srcEnd-srcBegin 大于 dst.length
setCharAt
public void setCharAt(int index, char ch)
指定索引处的字符设置为 ch 。此序列被更改为表示与旧字符序列相同的新字符序列,只是它在位置 index 处包含字符 ch。
索引参数必须大于或等于 0 且小于此序列的长度。
参数:
index - 要修改的字符的索引。
ch - 新角色。
抛出:
IndexOutOfBoundsException - 如果 index 为负或大于或等于 length()。
参见:
length()
append
public StringBuffer append(Object obj)
附加 Object 参数的字符串表示形式。
总体效果就像通过方法 String.valueOf(Object) 将参数转换为字符串一样,然后该字符串的字符被 appended 转换为该字符序列。
参数:
obj - 一个 Object。
返回:
对此对象的引用。
append
public StringBuffer append(String str)
将指定的字符串附加到此字符序列。
String 参数的字符按顺序附加,按参数的长度增加此序列的长度。如果 str 是 null ,则附加四个字符 "null"。
让n是执行 append 方法之前此字符序列的长度。然后索引处的字符k新字符序列中的字符等于索引处的字符k在旧字符序列中,如果k小于n;否则,它等于索引处的字符千克在参数 str 中。
参数:
str - 一个字符串。
返回:
对此对象的引用。
append
public StringBuffer append(StringBuffer sb)
将指定的 StringBuffer 附加到此序列。
StringBuffer 参数的字符按顺序附加到此 StringBuffer 的内容,将此 StringBuffer 的长度增加参数的长度。如果 sb 是 null,那么四个字符 "null" 将附加到这个 StringBuffer。
让n是旧字符序列的长度,即在执行 append 方法之前包含在 StringBuffer 中的那个。然后索引处的字符k新字符序列中的字符等于索引处的字符k在旧字符序列中,如果k小于n;否则,它等于索引处的字符千克在参数 sb 中。
此方法同步目标对象 this,但不同步源对象 (sb)。
参数:
sb - 要追加的 StringBuffer。
返回:
对此对象的引用。
自从:
1.4
append
public StringBuffer append(CharSequence s)
将指定的 CharSequence 附加到此序列。
CharSequence 参数的字符按顺序附加,按参数的长度增加此序列的长度。
此方法的结果与调用 this.append(s, 0, s.length()); 完全相同。
此方法在目标对象 this 上同步,但在源对象 (s) 上不同步。
如果 s 是 null ,则附加四个字符 "null"。
指定者:
append 在接口 Appendable 中
参数:
s - 要追加的 CharSequence。
返回:
对此对象的引用。
自从:
1.5
append
public StringBuffer append(CharSequence s, int start, int end)
将指定的 CharSequence 的子序列附加到此序列。
参数 s 的字符,从索引 start 开始,按顺序附加到此序列的内容,直到(独占)索引 end 。该序列的长度增加了 end - start 的值。
让n是执行 append 方法之前此字符序列的长度。然后索引处的字符k此字符序列中的字符等于索引处的字符k在这个序列中,如果k小于n;否则,它等于索引处的字符k+开始-n在参数 s 中。
如果 s 是 null ,则此方法附加字符,就好像 s 参数是包含四个字符 "null" 的序列一样。
指定者:
append 在接口 Appendable 中
参数:
s - 要追加的序列。
start - 要附加的子序列的起始索引。
end - 要附加的子序列的结束索引。
返回:
对此对象的引用。
抛出:
IndexOutOfBoundsException - 如果 start 为负,或 start 大于 end 或 end 大于 s.length()
自从:
1.5
append
public StringBuffer append(char[] str)
将 char 数组参数的字符串表示形式附加到此序列。
数组参数的字符按顺序附加到此序列的内容。该序列的长度随着参数的长度而增加。
总体效果就像通过方法 String.valueOf(char[]) 将参数转换为字符串一样,然后该字符串的字符被 appended 转换为该字符序列。
参数:
str - 要追加的字符。
返回:
对此对象的引用。
append
public StringBuffer append(char[] str, int offset, int len)
将 char 数组参数的子数组的字符串表示形式附加到此序列。
char 数组 str 的字符,从索引 offset 开始,按顺序附加到此序列的内容。该序列的长度增加了 len 的值。
总体效果就像通过方法 String.valueOf(char[],int,int) 将参数转换为字符串一样,然后该字符串的字符被 appended 转换为该字符序列。
参数:
str - 要追加的字符。
offset - 要追加的第一个 char 的索引。
len - 要附加的 char 的数量。
返回:
对此对象的引用。
抛出:
IndexOutOfBoundsException - 如果 offset < 0 或 len < 0 或 offset+len > str.length
append
public StringBuffer append(boolean b)
将 boolean 参数的字符串表示形式附加到序列中。
总体效果就像通过方法 String.valueOf(boolean) 将参数转换为字符串一样,然后该字符串的字符被 appended 转换为该字符序列。
参数:
b - 一个 boolean。
返回:
对此对象的引用。
append
public StringBuffer append(char c)
将 char 参数的字符串表示形式附加到此序列。
参数附加到此序列的内容。该序列的长度增加1。
总体效果就像通过方法 String.valueOf(char) 将参数转换为字符串,然后将该字符串中的字符 appended 转换为该字符序列。
指定者:
append 在接口 Appendable 中
参数:
c - 一个 char。
返回:
对此对象的引用。
append
public StringBuffer append(int i)
将 int 参数的字符串表示形式附加到此序列。
总体效果就像通过方法 String.valueOf(int) 将参数转换为字符串一样,然后该字符串的字符被 appended 转换为该字符序列。
参数:
i - 一个 int。
返回:
对此对象的引用。
appendCodePoint
public StringBuffer appendCodePoint(int codePoint)
将 codePoint 参数的字符串表示形式附加到此序列。
参数附加到此序列的内容。该序列的长度增加Character.charCount(codePoint) 。
整体效果就像参数通过方法 Character.toChars(int) 转换为 char 数组,然后该数组中的字符被 appended 转换为该字符序列。
参数:
codePoint - 一个 Unicode 代码点
返回:
对此对象的引用。
自从:
1.5
append
public StringBuffer append(long lng)
将 long 参数的字符串表示形式附加到此序列。
总体效果就像通过方法 String.valueOf(long) 将参数转换为字符串一样,然后该字符串的字符被 appended 转换为该字符序列。
参数:
lng - 一个 long。
返回:
对此对象的引用。
append
public StringBuffer append(float f)
将 float 参数的字符串表示附加到此序列。
总体效果就像通过方法 String.valueOf(float) 将参数转换为字符串一样,然后该字符串的字符被 appended 转换为该字符序列。
参数:
f - 一个 float。
返回:
对此对象的引用。
append
public StringBuffer append(double d)
将 double 参数的字符串表示形式附加到此序列。
总体效果就像通过方法 String.valueOf(double) 将参数转换为字符串一样,然后该字符串的字符被 appended 转换为该字符序列。
参数:
d - 一个 double。
返回:
对此对象的引用。
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)) 确定要删除的 char 的数量,其中 thisSequence 是此序列。
参数:
index - 要删除的 char 的索引
返回:
这个对象。
抛出:
StringIndexOutOfBoundsException - 如果 index 为负或大于或等于 length()。
自从:
1.2
replace
public StringBuffer replace(int start, int end, String str)
用指定的 String 中的字符替换此序列的子字符串中的字符。子字符串从指定的 start 开始并扩展到索引 end - 1 处的字符,如果不存在这样的字符,则扩展到序列的末尾。首先删除子字符串中的字符,然后在 start 处插入指定的 String。 (如有必要,将延长此序列以容纳指定的字符串。)
参数:
start - 开始索引,包括在内。
end - 结束索引,独占。
str - 将替换以前内容的字符串。
返回:
这个对象。
抛出:
StringIndexOutOfBoundsException - 如果 start 为负,大于 length() 或大于 end。
自从:
1.2
substring
public String substring(int start)
返回一个新的 String,其中包含当前包含在此字符序列中的字符子序列。子字符串从指定的索引开始并延伸到该序列的末尾。
参数:
start - 开始索引,包括在内。
返回:
新字符串。
抛出:
StringIndexOutOfBoundsException - 如果 start 小于零,或大于此对象的长度。
自从:
1.2
subSequence
public CharSequence subSequence(int start, int end)
返回一个新的字符序列,它是此序列的子序列。
调用此表单方法
sb.subSequence(begin, end) 的行为与调用
sb.substring(begin, end) 的方式完全相同。提供此方法是为了让此类可以实现 CharSequence 接口。
指定者:
subSequence 在接口 CharSequence 中
参数:
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 s。子数组的字符被插入到此序列中 index 指示的位置。该序列的长度增加len char s。
参数:
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(Object) 将第二个参数转换为字符串完全相同,然后该字符串的字符在指示的偏移处将 inserted 转换为该字符序列。
offset 参数必须大于或等于 0 且小于或等于此序列的 length。
参数:
offset - 偏移量。
obj - 一个 Object。
返回:
对此对象的引用。
抛出:
StringIndexOutOfBoundsException - 如果偏移量无效。
insert
public StringBuffer insert(int offset, String str)
将字符串插入此字符序列。
String 参数的字符按顺序插入此序列中指定的偏移量,将原先位于该位置上方的任何字符向上移动,并将此序列的长度增加参数的长度。如果 str 是 null ,则将四个字符 "null" 插入到此序列中。
索引处的字符k在新字符序列中等于:
索引处的字符k在旧字符序列中,如果k小于offset
索引处的字符k-offset 在参数 str 中,如果k不小于 offset 但小于 offset+str.length()
索引处的字符k-str.length() 在旧字符序列中,如果k不小于offset+str.length()
offset 参数必须大于或等于 0 且小于或等于此序列的 length。
参数:
offset - 偏移量。
str - 一个字符串。
返回:
对此对象的引用。
抛出:
StringIndexOutOfBoundsException - 如果偏移量无效。
insert
public StringBuffer insert(int offset, char[] str)
将 char 数组参数的字符串表示形式插入到此序列中。
数组参数的字符被插入到该序列内容中 offset 指示的位置。该序列的长度随着参数的长度而增加。
总体效果与通过方法 String.valueOf(char[]) 将第二个参数转换为字符串完全相同,然后该字符串的字符在指示的偏移处将 inserted 转换为该字符序列。
offset 参数必须大于或等于 0 且小于或等于此序列的 length。
参数:
offset - 偏移量。
str - 字符数组。
返回:
对此对象的引用。
抛出:
StringIndexOutOfBoundsException - 如果偏移量无效。
insert
public StringBuffer insert(int dstOffset, CharSequence s)
将指定的 CharSequence 插入此序列。
CharSequence 参数的字符按顺序插入此序列中指定的偏移量,将原先位于该位置上方的任何字符向上移动,并将此序列的长度增加参数 s 的长度。
此方法的结果与调用此对象的 insert (dstOffset, s, 0, s.length()) 方法的结果完全相同。
如果 s 是 null ,则将四个字符 "null" 插入到此序列中。
参数:
dstOffset - 偏移量。
s - 要插入的序列
返回:
对此对象的引用。
抛出:
IndexOutOfBoundsException - 如果偏移量无效。
自从:
1.5
insert
public StringBuffer insert(int dstOffset, CharSequence s, int start, int end)
将指定 CharSequence 的子序列插入此序列。
start 和 end 指定的参数 s 的子序列按顺序插入此序列中指定的目标偏移量,向上移动最初位于该位置上方的任何字符。该序列的长度增加了end - start。
索引处的字符k在这个序列中变得等于:
索引处的字符k在这个序列中,如果k小于dstOffset
索引处的字符k+start-dstOffset 在参数 s 中,如果k大于或等于 dstOffset 但小于 dstOffset+end-start
索引处的字符k-(end-start) 在这个序列中,如果k大于或等于dstOffset+end-start
dstOffset 参数必须大于或等于 0 且小于或等于此序列的 length。
开始参数必须是非负的,并且不大于 end 。
结束参数必须大于或等于 start 且小于或等于 s 的长度。
如果 s 是 null,则此方法插入字符,就好像 s 参数是包含四个字符 "null" 的序列一样。
参数:
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(boolean) 将第二个参数转换为字符串完全相同,然后该字符串的字符在指示的偏移处将 inserted 转换为该字符序列。
offset 参数必须大于或等于 0 且小于或等于此序列的 length。
参数:
offset - 偏移量。
b - 一个 boolean。
返回:
对此对象的引用。
抛出:
StringIndexOutOfBoundsException - 如果偏移量无效。
insert
public StringBuffer insert(int offset, char c)
将 char 参数的字符串表示形式插入此序列。
总体效果与通过方法 String.valueOf(char) 将第二个参数转换为字符串完全相同,然后该字符串中的字符在指示的偏移处将 inserted 转换为该字符序列。
offset 参数必须大于或等于 0 且小于或等于此序列的 length。
参数:
offset - 偏移量。
c - 一个 char。
返回:
对此对象的引用。
抛出:
IndexOutOfBoundsException - 如果偏移量无效。
insert
public StringBuffer insert(int offset, int i)
将第二个 int 参数的字符串表示形式插入此序列。
总体效果与通过方法 String.valueOf(int) 将第二个参数转换为字符串完全相同,然后该字符串的字符在指示的偏移处将 inserted 转换为该字符序列。
offset 参数必须大于或等于 0 且小于或等于此序列的 length。
参数:
offset - 偏移量。
i - 一个 int。
返回:
对此对象的引用。
抛出:
StringIndexOutOfBoundsException - 如果偏移量无效。
insert
public StringBuffer insert(int offset, long l)
将 long 参数的字符串表示形式插入此序列。
总体效果与通过方法 String.valueOf(long) 将第二个参数转换为字符串完全相同,然后该字符串的字符在指示的偏移处将 inserted 转换为该字符序列。
offset 参数必须大于或等于 0 且小于或等于此序列的 length。
参数:
offset - 偏移量。
l - 一个 long。
返回:
对此对象的引用。
抛出:
StringIndexOutOfBoundsException - 如果偏移量无效。
insert
public StringBuffer insert(int offset, float f)
将 float 参数的字符串表示形式插入此序列。
总体效果与通过方法 String.valueOf(float) 将第二个参数转换为字符串完全相同,然后该字符串的字符在指示的偏移处将 inserted 转换为该字符序列。
offset 参数必须大于或等于 0 且小于或等于此序列的 length。
参数:
offset - 偏移量。
f - 一个 float。
返回:
对此对象的引用。
抛出:
StringIndexOutOfBoundsException - 如果偏移量无效。
insert
public StringBuffer insert(int offset, double d)
将 double 参数的字符串表示形式插入此序列。
总体效果与通过方法 String.valueOf(double) 将第二个参数转换为字符串完全相同,然后该字符串的字符在指示的偏移处将 inserted 转换为该字符序列。
offset 参数必须大于或等于 0 且小于或等于此序列的 length。
参数:
offset - 偏移量。
d - 一个 double。
返回:
对此对象的引用。
抛出:
StringIndexOutOfBoundsException - 如果偏移量无效。
indexOf
public int indexOf(String str)
返回指定子字符串在该字符串中第一次出现的索引。
返回的索引是最小值 k,其中:
this.toString().startsWith(str, k)
如果 k 的值不存在,则返回 -1。
参数:
str - 要搜索的子字符串。
返回:
指定子字符串第一次出现的索引,如果没有出现则为 -1。
自从:
1.4
indexOf
public int indexOf(String str, int fromIndex)
从指定索引开始,返回第一次出现的指定子字符串在此字符串中的索引。
返回的索引是最小值 k,其中:
k >= Math.min(fromIndex, this.length()) &&
this.toString().startsWith(str, k)
如果 k 的值不存在,则返回 -1。
参数:
str - 要搜索的子字符串。
fromIndex - 开始搜索的索引。
返回:
指定子字符串第一次出现的索引,从指定索引开始,如果没有这样的出现,则为 -1。
自从:
1.4
lastIndexOf
public int lastIndexOf(String str)
返回最后一次出现的指定子字符串在此字符串中的索引。空字符串 "" 的最后一次出现被认为出现在索引值 this.length() 处。
返回的索引是最大值 k,其中:
this.toString().startsWith(str, k)
如果 k 的值不存在,则返回 -1。
参数:
str - 要搜索的子字符串。
返回:
指定子字符串最后一次出现的索引,如果不存在则为 -1。
自从:
1.4
lastIndexOf
public int lastIndexOf(String str, int fromIndex)
返回最后一次出现的指定子字符串在此字符串中的索引,从指定索引开始向后搜索。
返回的索引是最大值 k,其中:
k <= Math.min(fromIndex, this.length()) &&
this.toString().startsWith(str, k)
如果 k 的值不存在,则返回 -1。
参数:
str - 要搜索的子字符串。
fromIndex - 开始搜索的索引。
返回:
指定子字符串最后一次出现的索引,从指定索引向后搜索,如果没有这样的出现,则返回 -1。
自从:
1.4
reverse
public StringBuffer reverse()
导致此字符序列被序列的反向替换。如果序列中包含任何代理对,则这些代理对将被视为反向操作的单个字符。因此,高-低代理项的顺序永远不会颠倒。让n是执行 reverse 方法之前此字符序列的字符长度(不是 char 值中的长度)。然后索引处的字符k新字符序列中的字符等于索引处的字符nk-1在旧字符序列中。
请注意,反向操作可能会导致生成代理对,这些代理对在操作前是未配对的低代理和高代理。例如,反转“\uDC00\uD800”会生成“\uD800\uDC00”,这是一个有效的代理项对。
返回:
对此对象的引用。
自从:
1.0.2
toString
public String toString()
返回表示此序列中数据的字符串。分配并初始化一个新的 String 对象以包含该对象当前表示的字符序列。然后返回此 String。对该序列的后续更改不会影响 String 的内容。
指定者:
toString 在接口 CharSequence 中
返回:
此字符序列的字符串表示形式。
chars
public IntStream chars()
返回一个 int 流,对该序列的 char 值进行零扩展。映射到 代理码点 的任何字符都将不经解释地通过。
当终端流操作开始时,流绑定到这个序列(具体来说,对于可变序列,流的拆分器是 late-binding )。如果在该操作期间修改了序列,则结果未定义。
指定者:
chars 在接口 CharSequence 中
返回:
来自此序列的 char 值的 IntStream
自从:
9
codePoints
public IntStream codePoints()
返回此序列中的代码点值流。序列中遇到的任何代理对都被组合为 Character.toCodePoint 并将结果传递给流。任何其他代码单元,包括普通 BMP 字符、未配对的代理项和未定义的代码单元,都被零扩展为 int 值,然后传递给流。
当终端流操作开始时,流绑定到这个序列(具体来说,对于可变序列,流的拆分器是 late-binding )。如果在该操作期间修改了序列,则结果未定义。
指定者:
codePoints 在接口 CharSequence 中
返回:
来自此序列的 Unicode 代码点的 IntStream
自从:
9