Sobes.tech
Junior

Waarvoor worden de methoden equals() en toString() in Java gebruikt?

sobes.tech AI

Antwoord van AI

De methode equals() vergelijkt het huidige object met een ander object op inhoudsgelijkheid, niet op referenties. Standaard vergelijkt het referenties (zoals de operator ==), maar het kan worden overschreven om de velden van de objecten te vergelijken.

De methode toString() geeft een stringrepresentatie van het object terug. Standaard bevat het de naam van de klasse en de hash-code van het object, maar het wordt vaak overschreven om een meer informatieve weergave te bieden, bijvoorbeeld de waarden van de velden van het object.

Voorbeeld van overschrijving:

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; // Referentie vergelijking
        if (o == null || getClass() != o.getClass()) return false; // Type en null check
        Person person = (Person) o;
        return age == person.age && // Veld vergelijking
               name.equals(person.name); // Gebruik van equals voor strings
    }

    @Override
    public String toString() {
        return "Person{" +
               "name='" + name + '\'' +
               ", age=" + age +
               '}';
    }
}