Junior
Java-da equals() metodu nə edir?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da equals() metodu obyektləri bərabərlik üçün müqayisə etmək üçün istifadə olunur. Əsasən, Object sinifində, o obyektə istinadları müqayisə edir (iki dəyişənin eyni yaddaş obyektinə işarə etdiyini yoxlayır).
Sınıflar equals() metodunu yenidən tərtib edə bilər, dəyər əsasında müqayisə məntiqini həyata keçirmək üçün. Bu, iki fərqli obyektin, sahələri və ya vəziyyəti bərabərdirsə, eyni sayılır.
equals() metodunu yenidən tərtib edərkən, hashCode() metodunu da yenidən tərtib etmək vacibdir və müqaviləyə riayət etmək: əgər iki obyekt equals()-ə görə bərabərdirsə, onların hashCode()-ları da eyni olmalıdır.
Yenidən tərtib nümunəsi:
public class Person {
private String name;
private int age;
// konstruktor və getterlər
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Person person = (Person) o;
return age == person.age &&
Objects.equals(name, person.name);
}
@Override
public int hashCode() {
return Objects.hash(name, age);
}
}