楼主概念错乱
final 表示这个类不能再被继承,并不是你理解的常量
String不可变是说String中用一个final 的char数组private final char value[];保存字符序列。
StringBuffer是缓冲区。她通过append("")方法追加字符串从来代替原字符串,所以StringBuffer可变
String不可变是说String中用一个final 的char数组private final char value[];保存字符序列。
final修饰的类和这里的“可变” 定义没有一点关系。
final类只表示这个类不能被继承。
String每次必须创建新的对象才能赋值,但是StringBuffer却不是这样的,StringBuffer可以通过append("")方法追加字符串从而替代原字符串,所以StringBuffer可变
String类如果是被定义为final类型他定义的对象当然不能改变。StringBuffer只不过是缓冲区。不知道它的可变是什么意思,内容?其实详细的在java课本第7章有介绍