Junior — Middle
Eşitlik karşılaştırmasını equals yöntemiyle nasıl gerçekleştiriyorsun?
sobes.tech yapay zeka
AI'dan gelen yanıt
Java'da nesnelerin doğru karşılaştırılması için equals metodunu kendi sınıfınızda yeniden tanımlamanız gerekir, bu metod tüm önemli alanları dikkate almalıdır ve nesnelerin eşitliğini belirler. Genel öneriler:
- Nesnenin
nullolmadığını kontrol edin. - Nesnelerin aynı sınıfa ait olduğunu doğrulayın.
- Eşitliği etkileyen tüm alanları karşılaştırın.
Person sınıfı için bir uygulama örneği:
@Override
public boolean equals(Object obj) {
if (this == obj) return true; // referans eşitliği kontrolü
if (obj == null || getClass() != obj.getClass()) return false; // null ve sınıf kontrolü
Person other = (Person) obj;
return Objects.equals(name, other.name) && age == other.age;
}
Ayrıca, equals metodunu yeniden tanımlarken hashCode metodunu da yeniden tanımlamanız, koleksiyonlarda doğru çalışması için önerilir.