但是,什么才是最终的效果呢?
这意味着您无法将变量重新绑定为指向其他 集合实例 :
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>(...));



