Junior
Que fait la méthode equals() en Java?
sobes.tech IA
Réponse de l'IA
La méthode equals() en Java est utilisée pour comparer des objets pour l'égalité. Par défaut, dans la classe Object, elle compare les références d'objets (vérifie si deux variables pointent vers le même objet en mémoire).
Les classes peuvent redéfinir la méthode equals() pour implémenter une logique de comparaison par valeur. Cela signifie que deux objets différents sont considérés comme égaux si leurs champs ou leur état sont équivalents.
Lors de la redéfinition de equals(), il est également important de redéfinir la méthode hashCode(), en respectant le contrat : si deux objets sont égaux selon equals(), leurs hashCode() doivent être identiques.
Exemple de redéfinition :
public class Person {
private String name;
private int age;
// constructeur et getters
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Person person = (Person) o;
return age == person.age &&
Objects.equals(name, person.name);
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
}