Metóda equals() triedy objektov, ktorá akceptuje objekt a zároveň ho porovnáva s aktuálnym objektom, sa používa na porovnanie dvoch objektov. Ak boli odkazy na tieto dva objekty rovnaké, metóda vráti hodnotu true; inak nie.
Príklad
Trieda Zamestnanec má v nasledujúcom príklade dve premenné: meno a vek, ako aj parametrizovanú funkciu Object() { [native code] }.
Pomocou metódy equals() vytvoríme dva objekty z hlavnej metódy zadaním identických údajov a porovnaním výsledkov.
Tento softvér vracia hodnotu false, pretože metóda equals() triedy Object vracia hodnotu true iba vtedy, ak sú odkazy na objekty identické.
Príklad kódu na prepísanie metódy rovná sa:
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); } }
Výkon:
Prepísanie metódy equals().
Môžete si vyvinúť vlastnú verziu metódy rovná sa, pretože objekt je skutočne nadtriedou pre všetky triedy v jazyku Java.
Príklad kódu:
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); } }
Výkon: