日期:2014-05-20  浏览次数:20689 次

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");