Я хочу реализовать методы put и get для multikeymap в Java с двумя ключами, указывающими на значение. Я написал пут-метод так:
public ValueType put(KeyTypeA key1, KeyTypeB key2, ValueType value) {
HashMap<KeyTypeB, ValueType> mappi = outerMap.get(key1);
ValueType oldvalue;
if (mappi.containsKey(key2)) {
oldvalue = mappi.get(key2);
} else {
oldvalue = null;
}
Однако, когда я тестирую этот метод (я правильно инициализировал mappi как экземпляр моего собственного типа multikeymap) с
mappi.put("xxxxx", 13, "xxxxx");
Я получаю исключение NullPointerException на
if (mappi.containsKey(key2)) {
Что может вызвать исключение? В моем классе MultiKeyMap я инициализирую объект multikeymap в конструкторе, так что все должно быть в порядке.