Sobes.tech
Junior — Middle

Java dilində equals metodu necə həyata keçirilmişdir və obyektləri müqayisə etmək üçün necə istifadə olunur?

sobes.tech Süni İntellekt

AI-dan cavab

Java-da, equals() metodu Object sinfində müəyyən edilmişdir və obyektləri məntiqi bərabərliyi üçün müqayisə etmək üçün istifadə olunur. Standart olaraq, o, referansları müqayisə edir (yəni, iki dəyişənin eyni obyektə işarə etdiyini yoxlayır).

Obyektlərin məzmununu düzgün müqayisə etmək üçün, sinflər adətən equals() metodunu yenidən təyin edir, beləliklə, obyektlərin əhəmiyyətli sahələrini müqayisə edir.

equals() metodunun yenidən təyin olunmasına nümunə:

@Override
public boolean equals(Object obj) {
    if (this == obj) return true; // şəxsiyyət yoxlaması
    if (obj == null || getClass() != obj.getClass()) return false;
    MyClass other = (MyClass) obj;
    return Objects.equals(field1, other.field1) && field2 == other.field2;
}

equals() metodunu yenidən təyin edərkən, hashCode() metodunu da yenidən təyin etmək vacibdir, beləliklə, obyektlərin kolleksiyalarda düzgün işləməsini təmin edir, məsələn, HashMap-də.

İstifadə:

MyClass a = new MyClass(...);
MyClass b = new MyClass(...);
if (a.equals(b)) {
    // obyektlər məzmun baxımından bərabər sayılır
}