logo

Методът Override equals в Java

Методът equals() на класа на обекта, който приема обект, както и го сравнява с текущия обект, се използва за сравняване на два обекта. Ако препратките към тези два обекта са равни, методът връща true; в противен случай не става.

Пример

Класът Employee в следния пример има две променливи: име и възраст, както и параметризирана функция Object() { [роден код] }.

С помощта на метода equals() създаваме два обекта от основния метод, като даваме идентични данни и сравняваме резултатите.

Този софтуер връща false, защото методът equals() на класа Object връща true само ако препратките към обектите са идентични.

Примерен код за замяна на метода equals:

EqualsExpl.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); } } 

Изход:

Методът Override equals в Java

Замяна на метода equals().

Можете да разработите своя собствена версия на метода equals, тъй като Object наистина е суперкласът за всички класове в Java.

Примерен код:

EqualsExpl1.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); } } 

Изход:

Методът Override equals в Java