Вы уверены, что не скрываете свои исключения?Это работает абсолютно нормально, так как выдает UnsupportedOperationException
:
import java.util.*;
public class Test {
public static void main(String[] args) {
Map<String, String> map = getMap();
map.put("a", "b");
}
public static final Map<String, String> getMap(){
Map<String, String> map = new HashMap<String, String>();
map.put("x", "y");
return Collections.unmodifiableMap(map);
}
}
. Я предлагаю вам распечатать map.getClass()
на возвращаемом значении метода - я бы ожидал, что будетUnmodifiableMap
.