StringBuffer类
StringBuffer类概述:线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改。虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。
构造方法
StringBuffer() :构造一个其中不带字符的字符串缓冲区,初始容量为 16 个字符。
StringBuffer(CharSequence seq):构造一个字符串缓冲区,它包含与指定CharSequence 相同的字符。
StringBuffer(int capacity) :构造一个不带字符,但具有指定初始容量的字符串缓冲区。
StringBuffer(String str):构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。
常用方法
1、append方法:在原字符串后添加相应的字符串。
append(boolean b)
append(char c)
append(char[] str)
append(char[] str, int offset, int len)
append(CharSequence s)
append(CharSequence s, int start, int end)
append(double d)
append(float f)
append(int i)
append(long lng)
append(Object obj)
append(String str)
append(StringBuffer sb)
appendCodePoint(int codePoint)
2、insert方法:在原字符串相应位置插入相应内容
insert(int offset, boolean b)
insert(int offset, char c)
insert(int offset, char[] str)
insert(int index, char[] str, int offset, int len)
insert(int dstOffset, CharSequence s)
insert(int dstOffset, CharSequence s, int start, int end)
insert(int offset, double d)
insert(int offset, float f)
insert(int offset, int i)
insert(int offset, long l)
insert(int offset, Object obj)
insert(int offset, String str)
3、其他方法
方法 | 返回值类型 | 功能 |
---|---|---|
capacity() | int | 返回当前容量 |
charAt(int index) | char | 返回此序列中指定索引处的char值 |
codePointAt(int index) | int | 返回指定索引处的字符在Unicode中的十进制表示(Unicode code point) |
codePointBefore(int index) | int | 返回指定索引处前一位的字符在Unicode中的十进制表示(Unicode code point) |
codePointCount(int beginIndex, int endIndex) | int | 返回此序列的指定文本范围内的Unicode代码点数。 |
delete(int start, int end) | StringBuffer | 删除索引从start到end(不包括)之间的字符 |
deleteCharAt(int index) | StringBuffer | 删除指定索引处的字符 |
ensureCapacity(int minimumCapacity) | void | 设置容量最小为多少 |
getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) | void | 复制原字符串的srcBegin至srcEnd(不包括)的部分添加至指定char数组的desBegin索引位置处 |
indexOf(String str) | int | 返回指定字符串在原字符串中第一次出现位置的索引 |
indexOf(String str, int fromIndex) | int | 返回指定字符串在原字符串中fromIndex索引处开始第一次出现位置的索引 |
lastIndexOf(String str) | int | 返回指定字符串在原字符串自后向前第一次出现位置的索引 |
lastIndexOf(String str, int fromIndex) | int | 返回指定字符串在原字符串自后向前从fromIndex索引处开始第一次出现位置的索引 |
length() | int | 返回字符串的长度(字符数量) |
offsetByCodePoints(int index, int codePointOffset) | int | 返回此序列中的索引,该索引由codePointOffset代码点从给定索引偏移。 |
replace(int start, int end, String str) | StringBuffer | 将指定索引处之间的字符替换为给定字符串 |
reverse() | StringBuffer | 将原有的字符序列替换为翻转后的字符序列 |
setCharAt(int index, char ch) | void | 将指定索引处的字符更改为ch字符 |
setLength(int newLength) | void | 设置字符序列的长度至一个新长度 |
subSequence(int start, int end) | CharSequence | 返回一个该序列的子序列的一个新的字符序列 |
substring(int start) | String | 返回一个字符串,它是由原字符序列自start索引处至结束位置所包含的全部字符的子字符序列组成的新字符串 |
substring(int start, int end) | String | 返回一个字符串,它是由原字符序列自start索引处至end(不包括)索引位置所包含的全部字符的子字符序列组成的新字符串 |
toString() | String | 返回一个用来表示这个序列的数据的字符串 |
trimToSize() | void | 尝试减少用于字符序列的存储空间 |