Sobes.tech
Junior

Su quali campi bisogna fare hashCode se equals ci soddisfa?

sobes.tech AI

Risposta dell'AI

Se il metodo equals è già definito e funziona correttamente, allora hashCode deve essere basato sugli stessi campi che partecipano al confronto in equals. Questo è necessario per rispettare il contratto tra equals e hashCode: gli oggetti uguali secondo equals devono avere lo stesso hashCode.

Ad esempio, se equals confronta i campi id e name, allora hashCode deve essere calcolato sulla base di questi stessi campi:

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