logo

Override równa się metoda w Javie

Do porównania dwóch obiektów używana jest metoda równości() klasy obiektu, która akceptuje obiekt i porównuje go z bieżącym obiektem. Jeżeli odniesienia do tych dwóch obiektów były równe, metoda zwraca wartość true; w przeciwnym razie tak nie jest.

Przykład

Klasa Pracownik w poniższym przykładzie ma dwie zmienne: imię i nazwisko oraz wiek, a także sparametryzowaną funkcję Object() { [kod natywny] }.

Stosując metodę równości() tworzymy dwa obiekty z metody głównej podając identyczne dane i porównując wyniki.

To oprogramowanie zwraca wartość false, ponieważ metoda równa() klasy Object zwraca wartość true tylko wtedy, gdy odniesienia do obiektów są identyczne.

Przykładowy kod przesłaniania metody równości:

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

Wyjście:

Override równa się metoda w Javie

Zastępowanie metody równości().

Możesz opracować własną wersję metody równości, ponieważ obiekt jest rzeczywiście nadklasą dla wszystkich klas w Javie.

Przykładowy kod:

Równa sięExpl1.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); } } 

Wyjście:

Override równa się metoda w Javie