Sobes.tech
Junior

Sur quels champs doit-on faire hashCode si equals nous convient?

sobes.tech IA

Réponse de l'IA

Si la méthode equals est déjà définie et fonctionne correctement, alors hashCode doit être basé sur les mêmes champs que ceux utilisés dans equals. Cela est nécessaire pour respecter le contrat entre equals et hashCode : les objets égaux selon equals doivent avoir le même hashCode.

Par exemple, si equals compare les champs id et name, alors hashCode doit être calculé à partir de ces mêmes champs :

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