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 avecequals().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.