1.StringBuffer是字符串缓冲区,是一个容器,其特点如下
(1)长度是可以变化的
(2)可以直接操作多种数据类型
(3)最终会会通过tostring方法变成字符串使用
存储
//将指定数据作为参数添加到已有数据结尾处
//返回原缓冲区对象
StringBuffer append();
//将任意类型的数据插入到指定index位置
StringBuffer insert(int index,任意类型的数据);
删除
//删除缓冲区中的数据,包含头,不包含尾
//返回原缓冲区中的对象
StringBuffer delete(int start,int end);
//清空缓冲区
sb.delete(0,sb.length());
获取
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 dstEnd);
StringBuilder类
JDK1.5版本后,出现了StringBuilder,和StringBuffer的API兼容,提高了效率,建议使用StringBuilder
区别:
StringBuffer是线程同步,多线程时使用,也可以单线程时自己加锁使用
StringBuilder是线程不同步,单线程使用
版本升级点
(1)提高效率
(2)简化书写
(3)提高安全性