Zum Vergleich zweier Objekte wird die Methode equal() der Objektklasse verwendet, die ein Objekt akzeptiert und es mit dem aktuellen Objekt vergleicht. Wenn die Verweise auf diese beiden Objekte gleich waren, gibt die Methode „true“ zurück; andernfalls ist dies nicht der Fall.
Beispiel
Die Klasse Employee im folgenden Beispiel verfügt über zwei Variablen: Name und Alter sowie eine parametrisierte Funktion Object() { [nativer Code] }.
Mit der Methode equal() erstellen wir zwei Objekte aus der Hauptmethode, indem wir identische Daten angeben und die Ergebnisse vergleichen.
Diese Software gibt „false“ zurück, da die Methode „equals()“ der Objektklasse nur „true“ zurückgibt, wenn die Verweise auf die Objekte identisch sind.
bash if-Anweisung
Beispielcode zum Überschreiben der Methode „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); } }
Ausgabe:
Überschreiben der Methode equal()
Sie können Ihre eigene Version der Methode equal entwickeln, da das Objekt tatsächlich die Oberklasse für alle Klassen in Java ist.
Beispielcode:
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); } }
Ausgabe: