Sobes.tech
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 null olmadığı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.