Sobes.tech
Junior — Middle

Quelles méthodes automatiques le compilateur crée-t-il pour la classe de données et à quoi servent-elles?

sobes.tech IA

Réponse de l'IA

En Kotlin, pour les data class, le compilateur génère automatiquement plusieurs méthodes utiles qui facilitent le travail avec les objets :

  • equals() — pour comparer les objets par la valeur de toutes leurs propriétés.
  • hashCode() — pour obtenir un code de hachage cohérent avec equals().
  • toString() — renvoie une représentation sous forme de chaîne de l'objet avec l'énumération de toutes ses propriétés.
  • copy() — crée une copie de l'objet avec la possibilité de modifier certaines propriétés.
  • Fonctions componentN() — pour la destructuration de l'objet en variables séparées.

Exemple :

data class User(val name: String, val age: Int)

val user1 = User("Alice", 30)
val user2 = user1.copy(age = 31)

println(user1) // User(name=Alice, age=30)
println(user1 == user2) // false
val (name, age) = user2
println(name) // Alice
println(age) // 31

Ces méthodes simplifient le travail avec des objets immuables et rendent le code plus expressif.