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