logo

שיטת עקוף שווה ב-Java

השיטה equals() של מחלקת האובייקט, המקבלת אובייקט וכן משווה אותו לאובייקט הנוכחי, משמשת להשוואה בין שני אובייקטים. אם ההפניות לשני האובייקטים הללו היו שווים, השיטה מחזירה true; אחרת, זה לא.

דוגמא

למחלקה Employee לאורך הדוגמה הבאה יש שני משתנים: שם וגיל, וכן פונקציה עם פרמטר Object() { [קוד מקורי] }.

באמצעות שיטת equals() אנו יוצרים שני אובייקטים מהשיטה הראשית על ידי מתן נתונים זהים והשוואת התוצאות.

המרה והליהוק מסוג java

תוכנה זו מחזירה false מכיוון ששיטת equals() של מחלקת Object מחזירה true רק אם ההפניות לאובייקטים זהות.

קוד לדוגמה לעקוף את שיטת 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); } } 

תְפוּקָה:

שיטת עקוף שווה ב-Java

עקיפת שיטת equals()

אתה יכול לפתח גרסה משלך לשיטת equals מכיוון שה-Object הוא אכן מחלקת העל עבור כל המחלקות ב-Java.

קוד לדוגמה:

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

תְפוּקָה:

שיטת עקוף שווה ב-Java