Junior — Middle
Ποια μέθοδοι συνήθως υλοποιούνται στις κλάσεις δεδομένων στην εμπειρία σας;
sobes.tech AI
Απάντηση από AI
Στις κλάσεις δεδομένων (data classes) στο Android, γενικά υλοποιούνται οι ακόλουθες μέθοδοι:
- equals() — για σύγκριση αντικειμένων βάσει περιεχομένου, όχι αναφοράς.
- hashCode() — για σωστή λειτουργία με δομές hash, όπως το HashMap.
- toString() — για βολική εμφάνιση του περιεχομένου του αντικειμένου ως συμβολοσειρά.
- copy() (αν χρησιμοποιείται Kotlin) — για δημιουργία αντιγράφου του αντικειμένου με δυνατότητα τροποποίησης ορισμένων πεδίων.
Παράδειγμα σε Kotlin:
data class User(val id: Int, val name: String)
val user1 = User(1, "Alice")
val user2 = user1.copy(name = "Bob")
println(user1 == user2) // false
println(user1) // User(id=1, name=Alice)
Αν η κλάση έχει γραφτεί σε Java, συνήθως υπερκαθορίζονται χειροκίνητα τα equals(), hashCode() και toString() για να διασφαλιστεί σωστή σύγκριση και βολική έξοδος.