使用Collections.unmodifiableMap(...)
,我试图返回地图的不可修改视图。假设我有以下方法,
public final Map<Foo, Bar> getMap(){
...
return Collections.unmodifiableMap(map);
}
为什么在其他地方执行以下操作是合法的,
Map<Foo, Bar> map = getMap();
map.put(...);
这不会UnsupportedOperationException
像我想象的那样抛出。有人可以解释一下,或者建议我如何成功返回真正不可修改的地图吗?