См. Изображение ниже.
Image.png
Я поместил ключи в кеш, используя метод equals следующим образом:
@Override
public boolean equals(Object obj) {
HierarchyMasterKey hierarchyMasterKey = (HierarchyMasterKey) obj;
return equalTo(this.hmCustNo, hierarchyMasterKey.hmCustNo) &&
equalTo(this.hmFromDate, hierarchyMasterKey.hmFromDate) &&
equalTo(this.hmParentCustNo, hierarchyMasterKey.hmParentCustNo) &&
equalTo(this.hmActNo, hierarchyMasterKey.hmActNo);
}
(метод equalTo - это в основном проверка на равенство нулевой безопасности.)
и hashCode вычисляется следующим образом:
@Override
public int hashCode() {
return Objects.hash(hmCustNo,hmActNo);
}
Когда я пытаюсь получить из него, метод equals не будетбыть казненным.Почему это так?Как воспламенить получить ключ без выполнения равных?
[У меня есть кеш с HierarchyMasterKey и списком HierarchyMaster в качестве значений и использующим Externalizable для переопределения хэш-кода и равно]