Middle
Ποια άλλη δεύτερη λύση μπορεί να προταθεί για τη σύγκριση δύο αντικειμένων Person;
sobes.tech AI
Απάντηση από AI
Ως δεύτερη λύση για τη σύγκριση δύο αντικειμένων Person, εκτός από την υπερισχύρηση της μεθόδου equals(), μπορείτε να χρησιμοποιήσετε μια βιβλιοθήκη για βαθιά σύγκριση αντικειμένων, όπως το Apache Commons Lang (EqualsBuilder), ή να γράψετε έναν δικό σας συγκριτή που συγκρίνει τα απαραίτητα πεδία διαδοχικά.
Παράδειγμα με EqualsBuilder:
import org.apache.commons.lang3.builder.EqualsBuilder;
public boolean equals(Person p1, Person p2) {
return new EqualsBuilder()
.append(p1.getName(), p2.getName())
.append(p1.getAge(), p2.getAge())
.append(p1.getAddress(), p2.getAddress())
.isEquals();
}
Αυτή η προσέγγιση είναι χρήσιμη όταν χρειάζεται ευέλικτη σύγκριση αντικειμένων χωρίς να αλλάξει η κλάση τους ή για προσωρινές συγκρίσεις.