最终 ArrayList 的意义是什么?
通过使ArrayList(或其他集合)最终确定,我们可以获得哪些优点/缺点?我仍然可以向ArrayList添加新元素,删除元素并更新它。但什么是效果使它成为最终的呢?
通过使ArrayList(或其他集合)最终确定,我们可以获得哪些优点/缺点?我仍然可以向ArrayList添加新元素,删除元素并更新它。但什么是效果使它成为最终的呢?
但什么是效果使它成为最终的呢?
这意味着您无法将变量重新绑定以指向其他集合实例:
final List<Integer> list = new ArrayList<Integer>();
list = new ArrayList<Integer>(); // Since `list' is final, this won't compile
作为风格问题,我声明大多数引用我不打算更改为.final
我仍然可以向ArrayList添加新元素,删除元素并更新它。
如果您愿意,可以使用 Collections.unmodifiableList()
防止插入、删除等操作:
final List<Integer> list = Collections.unmodifiableList(new ArrayList<Integer>(...));
它只是意味着您无法重新分配其引用。尝试执行如下所示的操作将导致编译器错误。
final List<String> list = new ArrayList<String>();
list = new LinkedList<String>();
^
Compiler error here
如果你真的想要一个不可变的列表,你应该使用这个方法。Collections.unmodifiableList()