Sobes.tech
Junior

Java-da equals() və toString() metodları nə üçün istifadə olunur?

sobes.tech Süni İntellekt

AI-dan cavab

equals() metodu cari obyektlərlə məzmun bərabərliyi üçün cari obyektlə başqa obyekt arasında müqayisə edir, ünvanlar deyil. Əsasən, o, ünvanları müqayisə edir (== operatoru kimi), lakin onu obyektlərin sahələrini müqayisə etmək üçün yenidən təyin etmək olar.

toString() metodu obyektin mətn şəklində təqdimatını qaytarır. Əsasən, o, sinif adını və obyektin hash kodunu daxil edir, lakin daha çox məlumat verən təqdimat üçün çox vaxt yenidən təyin edilir, məsələn, obyektin sahələrinin dəyərləri.

Yenidən təyin etmə nümunəsi:

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; // Ünvanların müqayisəsi
        if (o == null || getClass() != o.getClass()) return false; // Növ və null yoxlaması
        Person person = (Person) o;
        return age == person.age && // Sahələrin müqayisəsi
               name.equals(person.name); // Stringlər üçün equals istifadə etmək
    }

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