一个集合在Java中最终是什么意思?

Jad*_*mas 12 java collections final immutability

在Java中声明最终集合意味着什么?难道不再添加任何元素吗?是否已经存在的元素无法改变?还有别的吗?

dre*_*ore 14

不.它只是意味着参考不能改变.

final List list = new LinkedList(); 

.... 
list.add(someObject); //okay
list.remove(someObject); //okay
list = new LinkedList(); //not okay 
list = refToSomeOtherList; //not okay
Run Code Online (Sandbox Code Playgroud)


The*_*ind 6

您对最终对象和不可变对象感到困惑。

final->您不能更改对集合(对象)的引用。您可以修改参考指向的集合/对象。您仍然可以向集合中添加元素

immutable->您不能修改参考指向的Collection / Object的内容。您不能将元素添加到集合中。