Junior — Middle
Ce metode automate sunt create de compilator pentru data class și pentru ce sunt destinate?
sobes.tech AI
Răspuns de la AI
În Kotlin, pentru data class, compilatorul generează automat mai multe metode utile care facilitează lucrul cu obiecte:
equals()— pentru compararea obiectelor după valoarea tuturor proprietăților.hashCode()— pentru obținerea unui cod hash compatibil cuequals().toString()— returnează o reprezentare în șir a obiectului cu enumerarea tuturor proprietăților.copy()— creează o copie a obiectului cu posibilitatea de a modifica anumite proprietăți.- Funcțiile
componentN()— pentru destructurarea obiectului în variabile separate.
Exemplu:
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
Acești metodii simplifică lucrul cu obiecte imutabile și fac codul mai expresiv.