一、String
String对象是不可变对象,一旦被创建,就不能改变他的值,对于已经存在的String对象修改都是重新创建一个新的对象,然后把新的值保存进去,String是final类,不能被继承。
二、StringBuffer
StringBuffer是一个可变对象,当对他进行修改时不会像String那样重新建立一个新的对象,他只能通过构造函数来建立,StringBuffer sb = new StringBuffer();
不能通过赋值符号对他进行赋值,对象被建立以后,在内存中会分配内存空间,并出示保存一个null,像StringBuffer中赋值的时候可以通过他的append方法sb.append(“h”);
三、效率比较
字符串连接操作中StringBuffer要比String高。例子:
String str = new String("aa");
str += "bb";
以上的处理步骤为通过建立一个StringBuffer,然后再调用append(),最后将StringBuffer toStirng(toString方法:StringBuffer类型转化为String类型)