StringBuffer 和 String 的区别
String:
1. 是对象不是原始类型.为不可变对象。
2. 一旦被创建,就不能修改它的值。.
3. 对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去。
4. String 是final类,即不能被继承。
StringBuffer:
1. 是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象。
2. 它只能通过构造函数来建立,
StringBuffer sb = new StringBuffer();
注意:
1. 不能通过赋值符号对他进行赋值.
sb = "welcome to here!";//error
2. 对象被建立以后,在内存中就会分配内存空间,并初始保存一个null.
3. 向StringBuffer中赋值的时候可以通过它的append方法.
sb.append("hello");
4. 字符串连接操作中StringBuffer的效率要比String高:
String str = new String("welcome to ");
str += "here";
上面的代码的处理步骤实际上是通过建立一个StringBuffer,然后调用append(),最后再将StringBuffer toSting()
(toString方法:StringBuffer类型转化成String类型);