Java基础:StringBuffer 与 StringBuilder

两者的特点和区别

StringBuffer 和 StringBuilder 都是字符串缓冲区。

共同点:

  • 都是是一个容器。
  • 长度是可变化的。
  • 可以操作多个数据类型。
  • 最终会通过 toString() 方法变成字符串。

不同点:

  • JDK1.5 版本之后出现了 StringBuilder.
  • StringBuffer 是线程同步。
  • StringBuilder 是线程不同步。

常用操作

存储

StringBuffer append(基本数据类型);  //将指定数据作为参数添加到已有数据结尾处.。
StringBuffer insert(int index,基本数据类型); //可以将数据插入到指定index位置。

删除

StringBuffer delete(start,end):删除缓冲区中的数据,包含start,不包含end。
StringBuffer deleteCharAt(index):删除指定位置的字符。

获取

char charAt(int index); 
int indexOf(String str); 
int lastIndexOf(String str);
int length(); 
String substring(int start, int end); 

修改

StringBuffer replace(int start,int end,String str);
void setCharAt(int index, char ch);

反转

StringBuffer reverse();

其他

//将缓冲区中指定数据存储到指定字符数组中。
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 

StringBuffer sb = new StringBuffer("abcedf");
char[] chs = new char[4];

sb.getChars(1,4,chs,1);

//然后chs的内容就为: [][b][c][d];
坚持原创技术分享,您的支持将鼓励我继续创作!