<分区>
java.util.Collections
类允许我使集合实例不可修改。下面的方法
protected Map<String, List<String>> getCacheData() {
return Collections.unmodifiableMap(tableColumnCache);
}
返回一个不可修改的 Map
, 所以 UnsupportedOperationException
是由于试图更改 map 实例引起的。
@Test(expected = UnsupportedOperationException.class)
public void checkGetCacheData_Unmodifiable() {
Map<String, List<String>> cacheData = cache.getCacheData();
cacheData.remove("SomeItem");
}
不幸的是所有List<String>
children 不是不可修改的。所以我想知道是否有办法为子值强制执行不可移动的行为 List<String>
也?
当然,或者我可以遍历 map 键值对,使列表不可修改并重新组装 map 。