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

为什么StringBuffer是可变的?
StringBuffer在JDK API中查的话不是也是final型的吗?String也是final型的,为什么说StringBuffer是可变的而String是不可变的?

------解决方案--------------------
String类中有一个char[]数组,这个数组就是用来存放字符串的,但是String中的这个char[]是final的,也就是说这个char[]在初始化后是不能改变,这样就造成了String类是不能改变的,即String被初始化后就不能变
StringBuffer类中也有一个char[]数组,但是StringBuffer中的这个char[]不是final的,也就是说这个char[]在初始化后是可以改变的,所以StringBuffer中就有一些例如append这样的方法来改变StringBuffer.
LZ看看这两个类的具体实现就知道了。