Sobes.tech
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() για να διασφαλιστεί σωστή σύγκριση και βολική έξοδος.