StringBuffer类 Api文档
方法概述
增删改相关
返回值 | 内容 | 描述 |
---|---|---|
StringBuffer | append(Object obj) | 追加 Object 参数的字符串表示。 |
StringBuffer | insert(int offset, Object obj) | 将 Object 参数的字符串表示插入到此字符序列中 |
StringBuffer | delete(int start, int end) | 删除此序列的子字符串中的字符。 |
StringBuffer | deleteCharAt(int index) | 删除 char 在这个序列中的指定位置。 |
void | setCharAt(int index, char ch) | 指定索引处的字符设置为 ch 。 |
StringBuffer | replace(int start, int end, String str) | 用指定的String中的字符替换此序列的子字符串中的 String 。 |
查询相关
返回值 | 内容 | 描述 |
---|---|---|
char | charAt(int index) | 返回 char 在指定索引在这个序列值。 |
int | indexOf(String str) | 返回指定子字符串第一次出现的字符串内的索引。 |
int | lastIndexOf(String str) | 返回指定子字符串最右边出现的字符串内的索引 |
int | capacity() | 返回当前容量。 |
int | length() | 返回长度(字符数)。 |
其他
返回值 | 内容 | 描述 |
---|---|---|
void | setLength(int newLength) | 设置字符序列的长度。 |
String | substring(int start) | 返回一个新的 String ,其中包含此字符序列中当前包含的字符的子序列。 |
String | toString() | 返回表示此顺序中的数据的字符串。 |
StringBuffer | reverse() | 导致该字符序列被序列的相反代替。 |
常用方法
文章目录
- StringBuffer类 Api文档
- 方法概述
- 常用方法
- length
- capacity
- setLength
- charAt
- setCharAt
- append
- delete
- deleteCharAt
- replace
- substring
- substring
- subSequence
- insert
- insert
- insert
- indexOf
- indexOf
- indexOf
- lastIndexOf
- lastIndexOf
- lastIndexOf
- reverse
- toString
- 方法概述
- 常用方法
- length
- capacity
- setLength
- charAt
- setCharAt
- append
- delete
- deleteCharAt
- replace
- substring
- substring
- subSequence
- insert
- insert
- insert
- indexOf
- indexOf
- indexOf
- lastIndexOf
- lastIndexOf
- lastIndexOf
- reverse
- toString
length
public int length()
返回长度(字符数)。
-
Specified by:
length
在界面CharSequence
-
结果
当前由此对象表示的字符序列的长度
capacity
public int capacity()
返回当前容量。 容量是新插入字符可用的存储量,超过此值将进行分配。
-
结果
当前的容量
setLength
public void setLength(int newLength)
设置字符序列的长度。该序列被更改为一个新的字符序列,其长度由参数指定。对于小于每非负索引k newLength
,在新的字符序列的索引k处的字符是相同的在旧序列索引k如果k小于原字符序列的长度的字符;否则为空字符'\u0000'
。换句话说,如果newLength
参数小于当前长度,则长度将更改为指定的长度。
如果newLength
参数大于或等于当前长度,则会附加足够的空字符( '\u0000'
),以使长度成为newLength
参数。
newLength
参数必须大于或等于0
。
charAt
public char charAt(int index)
返回char
在指定索引在这个序列值。第一个char
值为索引0
,下一个索引为1
,依此类推,就像数组索引一样。
索引参数必须大于或等于0
,并小于此序列的长度。
setCharAt
public void setCharAt(int index,
char ch)
指定索引处的字符设置为ch
。该序列被改变以表示一个新的字符序列,其是相同的原字符序列,不同之处在于它包含字符ch
在位置index
。
index参数必须大于或等于0
,并且小于此序列的长度。
-
参数
index
- 要修改的字符的索引。ch
- 新角色。
append
public StringBuffer append(Object obj)
追加Object
参数的字符串表示。
-
参数
obj
- 一个Object
。
delete
public StringBuffer delete(int start,
int end)
删除此序列的子字符串中的字符。 子串开始于指定start
并延伸到字符索引end - 1
,或如果没有这样的字符存在的序列的结束。 如果start
等于end
,则不作任何更改。
-
参数
start
- 开始索引,包括。end
- 结束索引,独家。
deleteCharAt
public StringBuffer deleteCharAt(int index)
删除char
在这个序列中的指定位置。该序列缩短了一个char
。
注意:如果给定索引处的字符是补充字符,则此方法不会删除整个字符。 如果需要的准确处理增补字符,确定数量char
通过调用删除Character.charCount(thisSequence.codePointAt(index))
,其中thisSequence
是此序列。
-
参数
index
- 要删除的索引char
replace
public StringBuffer replace(int start,
int end,
String str)
用指定的String中的字符替换此序列的子字符串中的String
。 子串开始于指定start
并延伸到字符索引end - 1
,或如果没有这样的字符存在的序列的结束。 第一子串中的字符被去除,然后指定String
被插入在start
。 (如果需要,此序列将被延长以容纳指定的字符串。)
-
参数
start
- 开始索引,包括。end
- 结束索引,独家。str
- 将替换以前内容的字符串。
substring
public String substring(int start)
返回一个新的String
,其中包含此字符序列中当前包含的字符的子序列。 子串从指定的索引开始,并延伸到该序列的末尾。
-
参数
start
- 开头索引(含)。 -
结果
新的字符串。
-
异常
StringIndexOutOfBoundsException
- 如果start
小于零或大于此对象的长度。 -
从以下版本开始:
1.2
-
substring
public String substring(int start, int end)
返回一个新的
String
,其中包含此序列中当前包含的字符的子序列。 子串起始于指定的start
,并扩展到索引号为end - 1
。-
参数
start
- 开头索引(含)。end
- 结束索引,独家。 -
结果
新的字符串。
-
异常
StringIndexOutOfBoundsException
- 如果start
或end
为负数或大于length()
,或start
大于end
。 -
从以下版本开始:
1.2
-
subSequence
public CharSequence subSequence(int start,
int end)
返回一个新的字符序列,该序列是该序列的子序列。
调用此方法的形式
sb.subSequence(begin, end)
行为与调用完全相同
sb.substring(begin, end)
提供这种方法,以便该类可以实现CharSequence
接口。
-
Specified by:
subSequence
在界面CharSequence
-
参数
start
- 开始索引(含)。end
- 结束索引,独家。 -
结果
指定的子序列。
-
异常
IndexOutOfBoundsException
- 如果start
或end
为负数,如果end
大于length()
,或者如果start
大于end
-
从以下版本开始:
1.4
insert
-
insert
public StringBuffer insert(int index, char[] str, int offset, int len)
在此序列中插入
str
数组参数的子阵列的字符串表示形式。 子阵列开始在指定的offset
和延伸len
char
秒。 子阵列的字符在index
的位置被插入到该序列中。 该序列的长度增加len
char
s。-
参数
index
- 插入子阵列的位置。str
- Achar
数组。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
- 如果偏移量无效。
-
indexOf
-
indexOf
public int indexOf(String str)
返回指定子字符串第一次出现的字符串内的索引。返回的整数是最小值k ,使得:
this.toString().startsWith(str, <i>k</i>)
是
true
。-
参数
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.4
-
lastIndexOf
-
lastIndexOf
public int lastIndexOf(String str)
返回指定子字符串最右边出现的字符串内的索引。最右边的空字符串“”被认为发生在索引值
this.length()
。返回的索引是最大的值kthis.toString().startsWith(str, k)
是真的。
-
参数
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.4
-
reverse
public StringBuffer reverse()
导致该字符序列被序列的相反代替。如果序列中包含任何替代对,则将它们视为单个字符进行反向操作。因此,高低替代品的顺序从未被扭转过。在执行reverse
方法之前,让n为该字符序列的字符长度(不是char
值的长度)。那么新字符序列中的索引k处的字符等于旧字符序列中的索引nk-1处的字符。
请注意,相反的操作可能会导致在手术之前产生不配对的低代理和高代谢的替代对。 例如,反转“\ uDC00 \ uD800”会生成“\ uD800 \ uDC00”,它是一个有效的代理对。
toString
public String toString()
返回表示此顺序中的数据的字符串。 新的String
对象被分配并初始化为包含此对象当前表示的字符序列。 然后返回String
。 对此序列的后续更改不影响String
的内容。
-
Specified by:
toString
在界面CharSequence
-
结果
这个字符序列的字符串表示。 StringBuffer类 Api文档
方法概述
返回值
描述。 StringBuffer
append(Object obj)
追加Object
参数的字符串表示。int
capacity()
返回当前容量。char
charAt(int index)
返回char
在指定索引在这个序列值。StringBuffer
delete(int start, int end)
删除此序列的子字符串中的字符。StringBuffer
deleteCharAt(int index)
删除char
在这个序列中的指定位置。int
indexOf(String str)
返回指定子字符串第一次出现的字符串内的索引。StringBuffer
insert(int offset, Object obj)
将Object
参数的字符串表示插入到此字符序列中。int
lastIndexOf(String str)
返回指定子字符串最右边出现的字符串内的索引。int
length()
返回长度(字符数)。StringBuffer
replace(int start, int end, String str)
用指定的String中的字符替换此序列的子字符串中的String
。StringBuffer
reverse()
导致该字符序列被序列的相反代替。void
setCharAt(int index, char ch)
指定索引处的字符设置为ch
。void
setLength(int newLength)
设置字符序列的长度。String
substring(int start)
返回一个新的String
,其中包含此字符序列中当前包含的字符的子序列。String
toString()
返回表示此顺序中的数据的字符串。常用方法
length
public int length()
返回长度(字符数)。
-
Specified by:
length
在界面CharSequence
-
结果
当前由此对象表示的字符序列的长度
capacity
public int capacity()
返回当前容量。 容量是新插入字符可用的存储量,超过此值将进行分配。
-
结果
当前的容量
setLength
public void setLength(int newLength)
设置字符序列的长度。该序列被更改为一个新的字符序列,其长度由参数指定。对于小于每非负索引k
newLength
,在新的字符序列的索引k处的字符是相同的在旧序列索引k如果k小于原字符序列的长度的字符;否则为空字符'\u0000'
。换句话说,如果newLength
参数小于当前长度,则长度将更改为指定的长度。如果
newLength
参数大于或等于当前长度,则会附加足够的空字符('\u0000'
),以使长度成为newLength
参数。newLength
参数必须大于或等于0
。charAt
public char charAt(int index)
返回
char
在指定索引在这个序列值。第一个char
值为索引0
,下一个索引为1
,依此类推,就像数组索引一样。索引参数必须大于或等于
0
,并小于此序列的长度。setCharAt
public void setCharAt(int index, char ch)
指定索引处的字符设置为
ch
。该序列被改变以表示一个新的字符序列,其是相同的原字符序列,不同之处在于它包含字符ch
在位置index
。index参数必须大于或等于
0
,并且小于此序列的长度。-
参数
index
- 要修改的字符的索引。ch
- 新角色。
append
public StringBuffer append(Object obj)
追加
Object
参数的字符串表示。-
参数
obj
- 一个Object
。
delete
public StringBuffer delete(int start, int end)
删除此序列的子字符串中的字符。 子串开始于指定
start
并延伸到字符索引end - 1
,或如果没有这样的字符存在的序列的结束。 如果start
等于end
,则不作任何更改。-
参数
start
- 开始索引,包括。end
- 结束索引,独家。
deleteCharAt
public StringBuffer deleteCharAt(int index)
删除
char
在这个序列中的指定位置。该序列缩短了一个char
。注意:如果给定索引处的字符是补充字符,则此方法不会删除整个字符。 如果需要的准确处理增补字符,确定数量
char
通过调用删除Character.charCount(thisSequence.codePointAt(index))
,其中thisSequence
是此序列。-
参数
index
- 要删除的索引char
replace
public StringBuffer replace(int start, int end, String str)
用指定的String中的字符替换此序列的子字符串中的
String
。 子串开始于指定start
并延伸到字符索引end - 1
,或如果没有这样的字符存在的序列的结束。 第一子串中的字符被去除,然后指定String
被插入在start
。 (如果需要,此序列将被延长以容纳指定的字符串。)-
参数
start
- 开始索引,包括。end
- 结束索引,独家。str
- 将替换以前内容的字符串。
substring
public String substring(int start)
返回一个新的
String
,其中包含此字符序列中当前包含的字符的子序列。 子串从指定的索引开始,并延伸到该序列的末尾。-
参数
start
- 开头索引(含)。 -
结果
新的字符串。
-
异常
StringIndexOutOfBoundsException
- 如果start
小于零或大于此对象的长度。 -
从以下版本开始:
1.2
-
substring
public String substring(int start, int end)
返回一个新的
String
,其中包含此序列中当前包含的字符的子序列。 子串起始于指定的start
,并扩展到索引号为end - 1
。-
参数
start
- 开头索引(含)。end
- 结束索引,独家。 -
结果
新的字符串。
-
异常
StringIndexOutOfBoundsException
- 如果start
或end
为负数或大于length()
,或start
大于end
。 -
从以下版本开始:
1.2
-
subSequence
public CharSequence subSequence(int start, int end)
返回一个新的字符序列,该序列是该序列的子序列。
调用此方法的形式
sb.subSequence(begin, end)
行为与调用完全相同
sb.substring(begin, end)
提供这种方法,以便该类可以实现
CharSequence
接口。-
Specified by:
subSequence
在界面CharSequence
-
参数
start
- 开始索引(含)。end
- 结束索引,独家。 -
结果
指定的子序列。
-
异常
IndexOutOfBoundsException
- 如果start
或end
为负数,如果end
大于length()
,或者如果start
大于end
-
从以下版本开始:
1.4
insert
-
insert
public StringBuffer insert(int index, char[] str, int offset, int len)
在此序列中插入
str
数组参数的子阵列的字符串表示形式。 子阵列开始在指定的offset
和延伸len
char
秒。 子阵列的字符在index
的位置被插入到该序列中。 该序列的长度增加len
char
s。-
参数
index
- 插入子阵列的位置。str
- Achar
数组。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
- 如果偏移量无效。
-
indexOf
-
indexOf
public int indexOf(String str)
返回指定子字符串第一次出现的字符串内的索引。返回的整数是最小值k ,使得:
this.toString().startsWith(str, <i>k</i>)
是
true
。-
参数
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.4
-
lastIndexOf
-
lastIndexOf
public int lastIndexOf(String str)
返回指定子字符串最右边出现的字符串内的索引。最右边的空字符串“”被认为发生在索引值
this.length()
。返回的索引是最大的值kthis.toString().startsWith(str, k)
是真的。
-
参数
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.4
-
reverse
public StringBuffer reverse()
导致该字符序列被序列的相反代替。如果序列中包含任何替代对,则将它们视为单个字符进行反向操作。因此,高低替代品的顺序从未被扭转过。在执行
reverse
方法之前,让n为该字符序列的字符长度(不是char
值的长度)。那么新字符序列中的索引k处的字符等于旧字符序列中的索引nk-1处的字符。请注意,相反的操作可能会导致在手术之前产生不配对的低代理和高代谢的替代对。 例如,反转“\ uDC00 \ uD800”会生成“\ uD800 \ uDC00”,它是一个有效的代理对。
toString
public String toString()
返回表示此顺序中的数据的字符串。 新的
String
对象被分配并初始化为包含此对象当前表示的字符序列。 然后返回String
。 对此序列的后续更改不影响String
的内容。-
Specified by:
toString
在界面CharSequence
-
结果
这个字符序列的字符串表示。
-