Junior
Java'da equals() ve toString() metodları ne için kullanılır?
sobes.tech yapay zeka
AI'dan gelen yanıt
equals() yöntemi, mevcut nesneyi başka bir nesneyle içerik eşitliği açısından karşılaştırır, referanslar değil. Varsayılan olarak, referansları karşılaştırır (== operatörü gibi), ancak nesnelerin alanlarını karşılaştırmak için yeniden tanımlanabilir.
toString() yöntemi, nesnenin dize temsiliğini döndürür. Varsayılan olarak, sınıf adını ve nesnenin karma kodunu içerir, ancak genellikle daha bilgilendirici bir temsil sağlamak için yeniden tanımlanır, örneğin nesnenin alan değerleri.
Yeniden tanımlama örneği:
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public boolean equals(Object o) {
if (this == o) return true; // Referans karşılaştırması
if (o == null || getClass() != o.getClass()) return false; // Tür ve null kontrolü
Person person = (Person) o;
return age == person.age && // Alan karşılaştırması
name.equals(person.name); // Stringler için equals kullanımı
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}