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