在 Java 中,集合最终确定意味着什么?

2022-09-02 20:18:22

在 Java 中,集合被声明为 final 是什么意思?是不是不能再添加更多的元素了?是不是已经存在的元素无法改变?是别的什么吗?


答案 1

哈哈它只是意味着引用无法更改。

final List list = new LinkedList(); 

.... 
list.add(someObject); //okay
list.remove(someObject); //okay
list = new LinkedList(); //not okay 
list = refToSomeOtherList; //not okay

答案 2

你混淆了最终和不可变对象。

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

immutable--> 您无法修改引用指向的集合/对象的内容。不能向集合中添加元素。