Метод 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); } }
Вихід:
Перевизначення метода 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); } }
Вихід: