Objektklassens equals()-metode, som godtar et objekt i tillegg til å sammenligne det med det gjeldende objektet, brukes til å sammenligne to objekter. Hvis referansene til disse to objektene var like, returnerer metoden true; ellers gjør den ikke det.
Eksempel
Klassen Employee gjennom følgende eksempel har to variabler: navn og alder, samt en parameterisert funksjon Object() { [native code] }.
Ved å bruke equals()-metoden lager vi to objekter fra hovedmetoden ved å gi identiske data og sammenligne resultatene.
Denne programvaren returnerer usann fordi Object-klassens equals()-metode bare returnerer true hvis referansene til objektene er identiske.
Eksempelkode for å overstyre equals-metoden:
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); } }
Produksjon:
Overstyre equals()-metoden
Du kan utvikle din egen versjon av equals-metoden siden objektet faktisk er superklassen for alle klasser i Java.
Eksempelkode:
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); } }
Produksjon: