Junior
À quoi servent les méthodes equals() et toString() en Java?
sobes.tech IA
Réponse de l'IA
- equals() : Compare deux objets pour l'égalité du contenu. Par défaut, Object.equals() compare les références (équivalent à
==). Lors de la redéfinition, il faut respecter le contrat : réflexivité, symétrie, transitivité, cohérence, et pour un x non nul, x.equals(null) doit être false. - toString() : Renvoie la représentation sous forme de chaîne de l'objet. Par défaut, pour Object, c'est le nom de la classe + hash-code. La redéfinition fournit des informations utiles sur l'objet pour la journalisation, le débogage ou l'affichage.
Exemple de redéfinition :
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@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 &&
name.equals(person.name);
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}