java面试题2 String与StringBuffer的区别
String与StringBuffer的区别?
在JAVA中有三个类来负责字符的操作:
1、Character是进行单个字符的操作
2、String是对一串字符进行操作,是不可变类。
3、StringBuffer是对一串字符进行操作,是可变类。
String
是对象不是原始类型
为不可变对象,一旦创建就不能修改它的值
对于已经存在的String的对象的修改都是重新创建一个新的对象,然后把值保存进去(旧的值会被回收)。String是final类,不能被继承
StringBuffer是一个可变对象,当对她进行修改不会像String那样重新建立对象,它只能通过构造函数来建立。
StringBuffer strBuffer = new StringBuffer();
注意,不能通过"="对其进行赋值
strBuffer =“hello”//错误
象被建立以后,在内存中就会分配内存空间,并初始保存一个null.向StringBuffer
中付值的时候可以通过它的append方法.
strBuffer.append("hello");