-
StringBuffer
StringBuffer是字符串缓存区,是一个容器
1.而且长度可变化的
2.可以操作多个数据类型
3.最终会通过toString方法变成字符串
C (create) U (update) R (read) D (delete)
1.存储
StringBuffer append();将制定数据作为参数添加到已有数据结尾处
StringBuffer insert(index,数据);可以将数据插入到指定index位置
StringBuffer aa = new StringBuffer();
StringBuffer bb = aa.append(34);
System.out.println(aa);
System.out.println(bb);
结果:aa与bb相等,面盆理论
StringBuffer aa = new StringBuffer();
aa.append("abc").append("123");
结果:abc123
StringBuffer aa = new StringBuffer();
aa.append("abc").append("123");
aa.intert(1,qq);
结果:aqqbc123
2.删除
StringBuffer delete(start,end);包含头不包含尾
StringBuffer deleteCharAt(index);删除指定位置的字符串
StringBuffer aa = new StringBuffer("abcde");
aa.delete(1,3);
//清空缓冲区
aa.delete(0,aa.length());
结果:ade
3.获取
char charAt(int index);
int indexOf(String str);
int lastIndexOf(String str);
int length();
String subString(int start, int end);
4.修改
String replace(int start, int end, String str);
void serCharAt(inde index, char ch);
StringBuffer aa = new StringBuffer("abcde");
aa.replace(1,4,java);
结果:ajavae
aa.setCharAt(2,'k');
结果:abkde
5.反转
StringBuffer reverse();
6.将缓冲区中指定数据存储到指定数组中
void getChars(int srcBegin, int srcEnd, char[] dst,int dstBegin);
StringBuffer aa = new StringBuffer("abcde");
char[] chs = new char[4];
aa.getChars(1,4.chs,1);//包含头不包含尾
for (int x=0l x< chs.length;x++){
System.out.println("chs["+x+"]="+chs+";");
结果:
chs[0]= ;
chs[1]= b;
chs[2]= c;
chs[3]= d;
-
StringBuilder
JDK1.5版本时候出现了StringBuilder
StringBuffer是线程同步的
StringBuilder是线程不同步的
升级三个因素:
1.提高效率
2.简化书写
3.提高安全性
网友评论