Sobes.tech
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 +
               '}';
    }
}