Junior — Middle
Java'da equals yöntemi nasıl uygulanmıştır ve nesneleri karşılaştırmak için nasıl kullanılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Java'da equals() metodu, Object sınıfında tanımlıdır ve nesneleri mantıksal eşitlik açısından karşılaştırmak için kullanılır. Varsayılan olarak, referansları karşılaştırır (yani, iki değişkenin aynı nesneye işaret edip etmediğini kontrol eder).
Nesnelerin içeriğini doğru şekilde karşılaştırmak için, sınıflar genellikle equals() metodunu yeniden tanımlar, böylece nesnelerin anlamlı alanlarını karşılaştırırlar.
equals() metodunun yeniden tanımlanmasına örnek:
@Override
public boolean equals(Object obj) {
if (this == obj) return true; // kimlik kontrolü
if (obj == null || getClass() != obj.getClass()) return false;
MyClass other = (MyClass) obj;
return Objects.equals(field1, other.field1) && field2 == other.field2;
}
equals() metodunu yeniden tanımlarken, hashCode() metodunu da yeniden tanımlamak önemlidir, böylece nesnelerin koleksiyonlardaki, örneğin HashMap içindeki düzgün çalışması sağlanır.
Kullanım:
MyClass a = new MyClass(...);
MyClass b = new MyClass(...);
if (a.equals(b)) {
// nesneler içerik açısından eşit kabul edilir
}