Junior
Pe ce câmpuri trebuie să faci hashCode dacă egalitatea ne mulțumește?
sobes.tech AI
Răspuns de la AI
Dacă metoda equals este deja definită și funcționează corect, atunci hashCode trebuie să se bazeze pe aceleași câmpuri care participă la comparație în equals. Acest lucru este necesar pentru a respecta contractul dintre equals și hashCode: obiectele egale conform equals trebuie să aibă același hashCode.
De exemplu, dacă equals compară câmpurile id și name, atunci hashCode trebuie calculat pe baza acestor câmpuri:
@Override
public int hashCode() {
return Objects.hash(id, name);
}