返回不可修改的地图
2022-09-02 20:01:16
使用 Collections.unmodifiableMap(...),
我试图返回地图的不可修改视图。假设我有以下方法,
public final Map<Foo, Bar> getMap(){
...
return Collections.unmodifiableMap(map);
}
为什么在其他地方这样做是合法的,
Map<Foo, Bar> map = getMap();
map.put(...);
这不会像我想象的那样引发不受支持的操作异常
。有人可以解释一下,或者建议我如何成功地返回一个真正不可修改的地图吗?