Java中String, StringBuffer, StringBuilder
String:
1,是字符串常量,一旦创建就不能修改。对于已经存在了的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去。
2,String也是final类,不能被继承。
3,而且String是对象而不是基本类型。
4,string重写了equals方法和hashCode()方法。
StingBuffer:
1,是字符串可变对象,可以对字符串进行操作,修改字符串原有值时不会新建一个对象。
2,执行效率较慢,但是线程安全
3,StringBuffer没有覆盖equals方法和hashCode()方法。
4,可以动态的构造字符数据,append()方法。
StringBuilder:
1,也是字符串可变对象,同StringBuffer一样,可以对字符串进行操作,也不会新建对象。
2,执行效率高效,但是线程不安全。
示例:
public class StringTest { public static void main(String[] args) { String s = "qwer1223"; /** * 运行结果 * 123qqq-hello * 1bAuff-buff-kill */ StringBuffer stringBuffer = new StringBuffer(); stringBuffer.append("123qqq").append("-hello"); System.out.println(stringBuffer); StringBuilder stringBuilder = new StringBuilder("buff"); stringBuilder.append("-buff").insert(1,"A").append("-kill").insert(0, 1); System.out.println(stringBuilder); } }