一、StringBuffer类与String类的区别
StringBuffer是一个可变的字符序列,String不可变,,重新赋值后,原对象即成为垃圾。
二、StringBuffer与StringBuilder
StringBuffer:JDK 1.0版本的,效率低,线程安全。同步。
StringBuilder:JDK 1.5版本的,效率高,但线程不安全,不同步。
StringBuffer调用append()添加方法时,不会重新创建对象。
三、 StringBuffer sb = new StringBuffer();
sb.append(“abc”);
StringBuffer sb2 = sb.append(“def”);
StringBuffer sb3 = sb.reverse();
sb、sb2、sb3都输出同一个对象。
四、sb.delete(0, sb.length()); //清空字符串缓存
五、String与StringBuffer的转换
(1) String => StringBuffer
① 通过构造方法
StringBuffer sb = new StringBuffer(“abc”);
②通过append()添加方法
StringBuffer sb = new StringBuffer();
sb.append(“abc”);
(2) StringBuffer => String
① 通过构造方法
String str = new String(sb);
② 通过toString()方法
String str = sb.toString();
③ 通过subString(0,sb.length())方法
String str = sb.subString(0,sb.length());