如何使 ArrayList 只读?

2024年9月5日 | 1 分钟阅读

只读意味着 Collection 的不可修改视图,在该视图中,我们无法通过 add()、remove() 或 set() 方法执行任何更改 Collection 的操作。我们可以通过调用 Collections.unmodifiableCollection() 方法从现有 Collection 获取只读 Collection。

输出

    Exception in thread "main"java.lang.UnsupportedOperationException
at java.util.Collections$UnmodifiableCollection.add(Collections.java:1055)
at collectionInterview.list.UnmodifiableArrayList.main(UnmodifiableArrayList.java:20)

在这里,我们将现有的 fruitList 列表转换为不可修改的 List。如果修改 "unmodifiableList",将导致 UnsupportedOperationException。我们仍然可以通过 fruitList 引用修改列表。例如,调用