Google的ImmutableList和Collections.unmodifiableList()有什么区别?
2022-08-31 16:59:16
来自 ImmutableList javadocs:
与 Collections.unmodifiableList(java.util.List)不同,Collections.unmodifiableList(java.util.List)是仍然可以更改的单独集合的视图,ImmutableList 的实例包含自己的私有数据,永远不会更改。ImmutableList对于公共静态最终列表(“常量列表”)很方便,并且还允许您轻松地制作调用方提供给类的列表的“防御性副本”。
这是否意味着:
- 如果我有不可变的维度对象列表(例如),那么我无法更改其中的任何维度对象?
- 如果我有Vimensions.unmodifiableList(列表)的维度对象,那么我不仅可以添加或删除任何对象,但我可以更改它们(例如调用setDimension(宽度,高度)方法)?