StringBuffer 和 StringBuilder 类
当对字符串进行操作时,需要使用
StringBuffer
和StringBuilder
类。
这两个类的对象能够进行多次修改,且不会产生新对象。
在使用 StringBuffer 时,每次都会对StringBuffer对象本身进行操作,而不是生成新的对象,所以在需要对字符串进行修改时,推荐使用StringBuffer。
StringBuffer sb = new StringBuffer("hello");
StringBuilder与StringBuffer的不同之处在于它的方法不是线程安全的,但是相对的速度会更快一些。
StringBuffer 方法
因为应用程序中大多数时候更注重线程安全,因此,朱啊哟学习StringBuffer的方法
方法 | 描述 |
---|---|
sb.append(String s) | 将指定字符串追加到此字符序列尾部 |
sb.reverse() | 将此字符序列反转 |
sb.delete(int start,int end) | 删除此序列的子字符串中的字符,以开始和结束下标为准 |
sb.insert(int offset,String str) | 按照偏移索引,将字符串插入 |
sb.replace(int start,int end,String str) | 使用给定string中的字符替换此序列中的子字符串的字符,以开始和结束的下标为准 |
与String相同或类似的方法
方法 | 描述 |
---|---|
charAt(int index) | 返回指定索引处的char值 |
indexOf(String str) | 返回第一次出现指定字符串在该字符序列中的索引 |
indexOf(String str,int fromIndex) | 从指定位置开始,返回字符序列中第一次指定字符串的下标索引。 |
lastIndexOf(String str) | 从尾部开始检索,返回字符序列中字符串第一次出现位置的索引 |
lastIndexOf(String str,int fromIndex) | 从指定位置开始检索,从后向前开始检索 |
length() | 返回长度 |
setCharAt( int index,char ch ) | 修改指定位置的字符为 ch |
setLength(int newLength) | 设置字符序列的长度 |
CharSequence.subSequence(int start, int end) | 切割现有字符序列,返回新的字符序列 |
toString() | 转为字符串 |
sb.subString(int start) | 从指定位置开始切割字符序列,返回字符串 |
sb.subString(int start, int end) | 从指定位置切割字符序列,到指定位置结束,返回字符串 |
int end) | 从指定位置切割字符序列,到指定位置结束,返回字符串 |