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