StringBuffer类和StringBuilder类
##一、除了使用String类存储字符串之外,还可以使用StringBuffer类来存储字符串。它比String类更高效,特别是对字符擦混进行连接操作时,使用 StringBuffer类可以大大提高程序的执行效率。
##二、StringBuffer类
位于Java.util包下,是String类的增强类。
##三、方法:
1,toString();
语法:字符串.toString();将字符串转换为String类的对象并返回。
String a="Hello";
String s1 = a.toString();
2,append();
语法:字符串.append(参数);将参数连接到字符串后并返回。
注:该方法和String()类的concat()方法一样,都是把一个字符串追加到另一个字符串后面,不同的是String类智能将String类型的字符串追加到一个字符串后面,而Stringbuffer类可以将任何类型的值追加到字符串后面。
StringBuffer sb = new StringBuffer("青春无悔");
int num=10;
StringBuffer append = sb.append(num);
System.out.println(append);
返回结果是:
青春无悔10
3,insert();
语法:字符串.insert(位置,参数);
##四、StringBuilder类
位于Java.lang.StringBuilder是JDK 5.0版本新增的类,它是一个可变的字符序列。在大多数实现中,它比StringBuffer执行的更快,使用方法和StringBuffer类基本上一样。
##五、重点:String类、StringBuffer类、StrinBuilder类对比(面试题)
1,String:字符串常量
String是不可变的对象,每次改变都会生成一个新的String对象,在经常改变内容的字符串最好不要用String类型,因为每次生成对象都会对系统性能产生影响。
2,StringBuffer:字符串变量
StringBuffer是可变的字符串,每次改变,会对StringBuffer本身进行操作,不会生成新的对象,在改变对象使用,在字符串连接操作中,StringBuffer类的执行效率比String高。
3,StringBuilder:字符串变量
它和StringBuffer类的区别是:StringBuffer类时线程安全的,StringBuilder类时单线程的,不提供同步,理论上效率更高