Bir nesneyi kabul eden ve onu geçerli nesneyle karşılaştıran nesne sınıfının equals() yöntemi, iki nesneyi karşılaştırmak için kullanılır. Bu iki nesneye yapılan başvurular eşitse yöntem true değerini döndürür; aksi takdirde olmaz.
Örnek
Aşağıdaki örnekte Employee sınıfının iki değişkeni vardır: isim ve yaşın yanı sıra parametreli bir fonksiyon olan Object() { [yerel kod] }.
equals() yöntemini kullanarak, aynı verileri vererek ve sonuçları karşılaştırarak ana yöntemden iki nesne oluşturuyoruz.
Bu yazılım false değerini döndürür çünkü Object sınıfının equals() yöntemi yalnızca nesnelere yapılan referanslar aynı olduğunda true değerini döndürür.
Eşittir yöntemini geçersiz kılmak için örnek kod:
EşittirExpl.java
import java.util.Scanner; class Student { private String n; private int a; Student(String n, int a){ this.n = n; this.a = a; } } public class EqualsExpl { public static void main(String[] args) { Student s1 = new Student('Sonoo', 19); Student s2 = new Student('Jaiswal', 19); // Comparing the two instances boolean bool = s1.equals(s2); System.out.println(bool); } }
Çıktı:
equals() yöntemini geçersiz kılma
Object aslında Java'daki tüm Sınıflar için üst sınıf olduğundan, equals yönteminin kendi versiyonunu geliştirebilirsiniz.
Örnek kod:
EşittirExpl1.java
class Student { private String n; private int a; Student(String n, int a){ this.n = n; this.a = a; } public boolean equals(Object o) { if (o == this) { return true; } if (!(o instanceof Student)) { return false; } Student s = (Student) o; return n.equals(s.n)&& Integer.compare(a, s.a) == 0; } } public class EqualsExpl1 { public static void main(String[] args) { Student s1 = new Student('Sonoo', 19); Student s2 = new Student('Jaiswal', 19); //Comparing the two instances boolean bool = s1.equals(s2); System.out.println(bool); } }
Çıktı: