私のクラスの1つでは、Testという静的なブロックがあります。私はBakidRangeid型のオブジェクトをキーとしてIntegerを値として使用してマップを構築しています。私のhashmap宣言は以下のようになります。ハッシュマップのキーオブジェクトからInteger値を取得
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;
}
}
私はBakidRangeidのインスタンスを設定することにより、mapBankIdRangeIdToConfIdハッシュマップから値を取得しようとしていたとき、私は、オブジェクトのにNullPointerException inspiteを得るようになります。通過しているbankidとrangeidの値がハッシュマップにあります。私は私のBakidRangeidクラスのequalsメソッドとhashcodeメソッドをオーバーライドする必要があると思います。誰でも親切に確認してください。前もって感謝します!
はい、私は、あなたが 'equals'と' hashCode'を実装する必要があることを確認できます。 – Thilo
あなたが述べたように、hashcodeメソッドをオーバーライドしようとしましたか? – TonyH