String类是不可变类,一个String对象所包含的字符串内容永远不会被改变;而StringBuffer类是可变类,一个StringBuffer对象所包含的字符串内容可以被添加或修改。
一、存储
StringBuffer append(): 将指定数据作为参数添加到已有数据结尾处。
StringBuffer insert(index, data): 可以将数据插入到指定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(start,end,string);
void setCharAt(int index,char ch);
五、反转
StringBuffer reverse();
六、将缓冲区中指定数据存储到指定字符数组中。
void getChars(int srcBegin, int srcEnd, char[ ] dst, int dstBegin);
JDK1.5版本之后出现了StringBuilder。
StringBuffer是线程同步;StringBuider是不同步的。