Junior — Middle
Obyektlərin bərabərliyini equals metodu ilə necə müqayisə edirsən?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da obyektlərin düzgün müqayisəsi üçün equals metodunu öz sinfinizdə yenidən təyin etməlisiniz, bu metod bütün əhəmiyyətli sahələri nəzərə almalı və obyektlərin bərabərliyini müəyyən etməlidir. Ümumi tövsiyələr:
- Obyektin
nullolmadığını yoxlayın. - Obyektlərin eyni sinfə aid olduğunu yoxlayın.
- Bərabərliyə təsir edən bütün sahələri müqayisə edin.
Person sinfi üçün nümunə:
@Override
public boolean equals(Object obj) {
if (this == obj) return true; // referens bərabərliyini yoxlama
if (obj == null || getClass() != obj.getClass()) return false; // null və sinif yoxlaması
Person other = (Person) obj;
return Objects.equals(name, other.name) && age == other.age;
}
Həmçinin, equals metodunu yenidən təyin etdikdə, hashCode metodunu da yenidən təyin etmək tövsiyə olunur, bu kolleksiyalarda düzgün işləmək üçün.