Nepaisyti lygu metodo Java

Nepaisyti lygu metodo Java

Objektų klasės metodas equals(), kuris priima objektą ir lygina jį su esamu objektu, naudojamas dviejų objektų palyginimui. Jei nuorodos į šiuos du objektus buvo lygios, metodas grąžina true; kitaip – ​​ne.

Pavyzdys

Klasė Darbuotojas šiame pavyzdyje turi du kintamuosius: vardą ir amžių, taip pat parametrizuotą funkciją Object() { [native code] }.

Naudodami equals() metodą, iš pagrindinio metodo sukuriame du objektus, pateikdami identiškus duomenis ir palygindami rezultatus.

Ši programinė įranga grąžina klaidingą, nes metodas Object class' equals() grąžina teisingą tik tada, jei nuorodos į objektus yra identiškos.

Pavyzdinis kodas, skirtas nepaisyti lygybės metodo:

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

Išvestis:

Nepaisyti lygu metodo Java

Metodo equals() nepaisymas

Galite sukurti savo lygybės metodo versiją, nes objektas iš tikrųjų yra visų „Java“ klasių superklasė.

Kodo pavyzdys:

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

Išvestis:

Nepaisyti lygu metodo Java