logo

Java'da eşittir yöntemini geçersiz kıl

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ı:

Java'da eşittir yöntemini geçersiz kıl

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ı:

Java'da eşittir yöntemini geçersiz kıl