Sobes.tech
Junior

Mely mezőkre kell hashCode-t készíteni, ha az equals megfelel nekünk?

sobes.tech MI

Válasz az MI-től

Ha az equals metódus már definiálva van és megfelelően működik, akkor a hashCode-nak ugyanazokra a mezőkre kell alapulnia, amelyek az equals-ben szerepelnek. Ez szükséges az equals és hashCode közötti szerződés betartásához: az equals szerint egyenlő objektumoknak ugyanazt a hashCode értéket kell adni.

Például, ha az equals az id és name mezőket hasonlítja össze, akkor a hashCode-t ezek alapján kell kiszámítani:

@Override
public int hashCode() {
    return Objects.hash(id, name);
}