Volver un mapa no modificable
UtilizandoCollections.unmodifiableMap(...)
, Estoy tratando de devolver una vista no modificable de un mapa. Digamos que tengo el siguiente método,
public final Map<Foo, Bar> getMap(){
...
return Collections.unmodifiableMap(map);
}
¿Por qué es legal en otros lugares hacer lo siguiente?
Map<Foo, Bar> map = getMap();
map.put(...);
Esto no arroja unUnsupportedOperationException
como pensé que lo haría. ¿Puede alguien explicarme esto o sugerirme cómo puedo devolver con éxito un mapa verdaderamente inmodificable?