假设我们有一个 List<List<String>>
并想让它完全不可修改。只需将其传递给 Collection.unmodifiableList
这还不够,因为内部列表仍然可以修改。
我会采用以下方法:
List<List<String>> someList;
使其不可修改:
List<List<String>> tempList = new ArrayList<>();
for(List<String> strList : someList) {
tempList.add(Collections.unmodifiableList(strList));
}
List<List<String>> safeList = Collections.unmodifiableList(tempList);
这个方法可以吗?
最佳答案
只要您不保留对原始的、可修改的列表的引用,这种方法就应该有效。此类引用可以修改由不可修改列表包裹的列表。
关于java - Unmodifiable 可修改对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25248619/