Junior
À quoi servent les méthodes equals() et toString() en Java?
sobes.tech IA
Réponse de l'IA
La méthode equals() compare l'objet actuel avec un autre objet pour l'égalité du contenu, et non des références. Par défaut, elle compare les références (comme l'opérateur ==), mais elle peut être redéfinie pour comparer les champs des objets.
La méthode toString() retourne une représentation sous forme de chaîne de l'objet. Par défaut, elle inclut le nom de la classe et le code de hachage de l'objet, mais elle est souvent redéfinie pour fournir une représentation plus informative, par exemple, les valeurs des champs de l'objet.
Exemple de redéfinition :
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; // Comparaison des références
if (o == null || getClass() != o.getClass()) return false; // Vérification du type et null
Person person = (Person) o;
return age == person.age && // Comparaison des champs
name.equals(person.name); // Utilisation de equals pour les chaînes
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}