Sobes.tech
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 +
               '}';
    }
}