String:
为不可变对象,一旦被创建,就不能修改它的值。String是final类,即不能被继承。
测试代码:
打印结果:
StringBuffer:
是一个可变对象,当对它进行修改的时候不会像String那样重新建立对象。
对象被建立以后,在内存中就会分配内存空间,并初始保存一个null。
字符串连接操作中StringBuffer的效率要明显比String高。
测试代码:
打印结果:
String对象是不可变对象,每次操作String都会建立新的对象来保存新的值。
StringBuffer对象实例化后,只对这一个对象操作就行了。
完整DEMO:
static void string(String a){
a="update";
System.out.println(a);
}
static void buffer(StringBuffer b){
//replace函数
//从下标0开始,划定替换范围
b = b.replace(0,5,"update");
}
public static void main(String[] args) {
String a=new String("String");
string(a);
System.out.println(a);
StringBuffer b=new StringBuffer("StringBuffer");
buffer(b);
System.out.println(b);
}