变量的Java final关键字

最终关键字如何使变量不变? Wikipedia says it doesn’t.
在Java中,术语final指的是引用,而immutable是指对象。将最终修饰符分配给引用意味着它不能更改为指向另一个对象,但是如果对象本身是可变的,则可以对其进行修改。

例如:

final ArrayList<String> arr = new ArrayList<String>();
arr.add("hello"); // OK, the object to which arr points is mutated
arr = null; // Not OK, the reference is final and cannot be reassigned to

正如维基百科的文章所提到的,如果你来自C,你必须将const的概念分解为最终的和不可变的。

翻译自:https://stackoverflow.com/questions/4197494/java-final-keyword-for-variables

转载注明原文:变量的Java final关键字