Sobes.tech
Junior — Middle

Comment implémentes-tu la comparaison d'objets pour l'égalité via la méthode equals ?

sobes.tech IA

Réponse de l'IA

Pour une comparaison correcte des objets en Java via la méthode equals, il est nécessaire de redéfinir cette méthode dans votre classe, en tenant compte de tous les champs significatifs qui déterminent l'égalité des objets. Recommandations générales:

  • Vérifier que l'objet n'est pas null.
  • Vérifier que les objets sont de la même classe.
  • Comparer tous les champs qui influencent l'égalité.

Exemple d'implémentation pour la classe Person:

@Override
public boolean equals(Object obj) {
    if (this == obj) return true; // vérification de l'égalité par référence
    if (obj == null || getClass() != obj.getClass()) return false; // vérification de null et de classe
    Person other = (Person) obj;
    return Objects.equals(name, other.name) && age == other.age;
}

Il est également recommandé de redéfinir hashCode lors de la redéfinition de equals pour un fonctionnement correct dans les collections.