这意味着,如果您的最终变量是引用类型(即不是像int这样的基元),则只有引用是不能更改的。不能使它引用不同的对象,但是如果类允许,它所引用的对象的字段仍可以更改。例如:
final StringBuffer s = new StringBuffer();
StringBuffer的内容仍然可以任意更改:
s.append("something");但是你不能说:
s = null;
要么
s = anotherBuffer;
另一方面:
final String s = "";
字符串是不可变的-根本没有任何方法可以使您更改字符串(除非您使用Reflection-并下地狱)。



