StringBuffer
一
1. StringBuffer是一个容器,而容器的特点是可以修改,基本操作是增添删改,这也是它与StringBuffer的主要区别。
2. 线程安全,可变的字符序列,是一个字符缓冲区,也是final型,不能被继承。
3.特点:
&长度是可变的
&可直接操作多个数据类型
&最终都会通过toString()变成字符串
4.注意:&当数据类型不确定时,数据个数也不确定时,最终都会变成字符串的时候用StringBuffer
& StringBuffer线程是同步的,而StringBuileder线程是不同步的。故建议开发时用StringBuilder
二方法
1.初始化
StringBuffer sb1=new StringBuffer("123");
2.String 和StringBuffer互相转化
String s1="abc";
StringBuffer sb1=new StringBuffer("123");//初始化一般使用构造函数,不能像s1那样。
sb1=new StringBuffer(s1);//把s1转化成StringBuffer
s1=sb1.toString();//把sb1转化成StringBuffer
3.appened()方法:在字符串尾部添加
String s3="123";
String s4="abc";
StringBuffer sb=new StringBuffer();//创建一个空的字符缓冲区
StringBuffer sb3=new StringBuffer("靠自己");
sb.append(sb3);
sb.append(s3);
sb.append(s4);
4.deleteCharAt()方法:删除指定位置的字符,将剩余的字符形成新的字符串
StringBuffer s5=new StringBuffer("test");
s5.deleteCharAt(1);
System.out.println("s5="+s5);//tst
s5.delete(1, 2);//delete的范围是[1,2)
System.out.println("s5="+s5);//tt
5.recever()方法:导致该字符串的序列按照相反的序列替代
6.setCharAt():指定索引处的字符为ch
s6.setCharAt(0, 'a');
7.trimToSize():尝试减少字符串的存储,使的字符串的内存空间和字符串的长度一样
integer
integer 的等于或者不等于的情况
在integer的源码中,在(-128,127)范围内,比较的是int的原始数据类型,而超过范围后,变会自动new一个对象来比较。==比较的是地址,而equals比较的是数值