String与StringBuffer/StringBuilder有什么区别?

可变性:

String 使用final关键字修饰数组,所以String是不可变的;

StringBuilder与StringBuffer都继承自AbstactStringBuilder父类,在AbstrctStringBuilder中使用char[]value字符数组保存字符串,但是没有用final关键字修饰,所以StringBuilder与StringBuffer都是可变的;

性能:

么次对String类型进行修改时,都会生成一个新的String对象,性能和内存开销都比较大;

StringBuffer和StringBuilder的操作是直接改变字符串本身,而不是生成新的对象,所以性能开销小;

你可能感兴趣的:(java,servlet,开发语言)