Utilizando Collections.unmodifiableMap(...)
, intento devolver una vista no modificable de un mapa. Digamos que tengo el siguiente método,Devolución de un mapa no modificable
public final Map<Foo, Bar> getMap(){
...
return Collections.unmodifiableMap(map);
}
¿Por qué es legal en otro lugar a hacer lo siguiente,
Map<Foo, Bar> map = getMap();
map.put(...);
Esto no produce una UnsupportedOperationException
como pensé que lo haría. ¿Puede alguien explicar esto o sugerir cómo puedo devolver un mapa realmente no modificable?
¿Se puede publicar más código? Es difícil de creer ... – toto2