Junior — Middle
Πώς συγκρίνει η μέθοδος equals δύο αντικείμενα στη Java;
sobes.tech AI
Απάντηση από AI
Η μέθοδος equals στη Java χρησιμοποιείται για τη σύγκριση δύο αντικειμένων όσον αφορά την σημασιολογική ισότητα. Από προεπιλογή, αν δεν την υπερκαλύψετε, συγκρίνει τις αναφορές (δηλαδή, ελέγχει αν τα αντικείμενα δείχνουν στην ίδια περίπτωση).
Όταν υπερκαλύπτετε το equals, συνήθως συγκρίνετε το περιεχόμενο των αντικειμένων, π.χ. τις τιμές των πεδίων.
Μια τυπική υλοποίηση του equals περιλαμβάνει:
- Έλεγχο ισότητας αναφορών (
this == obj) - Έλεγχο για
nullκαι συμβατότητα κλάσεων - Σύγκριση σημαντικών πεδίων των αντικειμένων
Παράδειγμα:
@Override
public boolean equals(Object obj) {
if (this == obj) return true;
if (obj == null || getClass() != obj.getClass()) return false;
MyClass other = (MyClass) obj;
return Objects.equals(field1, other.field1) && field2 == other.field2;
}
Είναι επίσης σημαντικό να υπερκαλύψετε το hashCode όταν υπερκαλύπτετε το equals, για να διατηρήσετε τη σύμβαση μεταξύ αυτών των μεθόδων.