В одном из моих классов говорят Test, в статическом блоке; Я строю карту, используя объект типа BakidRangeid как key, а Integer - как значение. Моя декларация hashmap выглядит, как показано ниже.Получить целочисленное значение из ключа Object hashmap
public static HashMap<BakidRangeid, Integer> mapBankIdRangeIdToConfId = new HashMap<BakidRangeid, Integer>();
И BakidRangeid класс выглядит
public class BakidRangeid {
private int bankId;
private int rangeId;
public int getBankId() {
return bankId;
}
public void setBankId(int bankId) {
this.bankId = bankId;
}
public int getRangeId() {
return rangeId;
}
public void setRangeId(int rangeId) {
this.rangeId = rangeId;
}
}
Когда я пытаюсь получить значение из HashMap mapBankIdRangeIdToConfId установки экземпляра BakidRangeid, я получаю NullPointerException несмотр объекта с значения bankid и rangeid, которые я пропускаю, присутствуют в хэшмапе. Думаю, мне придется переопределить методы equals и hashcode моего класса BakidRangeid. Любой любезно подтвердит. Заранее спасибо!
Да, я могу подтвердить, что вам нужно реализовать 'equals' и' hashCode'. – Thilo
Как вы заявили, вы пытались переопределить метод hashcode? – TonyH