Sobes.tech
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);
}