Junior — Middle
Puteți explica cum este implementată și funcționează intern data class în Kotlin?
sobes.tech AI
Răspuns de la AI
În Kotlin, data class este o clasă specială destinată stocării datelor. La compilare, compilatorul generează automat mai multe metode utile:
equals()șihashCode()— pentru compararea obiectelor după valoare, nu după referință.toString()— pentru o reprezentare convenabilă a obiectului ca șir de caractere.copy()— pentru crearea unei copii a obiectului cu posibilitatea de a modifica anumite proprietăți.- Funcții
componentN()— pentru destructurarea obiectului.
Intern, data class conține proprietăți declarate în constructorul primar, pentru care sunt generate metode de acces. Acest lucru evită codul repetitiv și face lucrul cu astfel de clase mai ușor și mai sigur.
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) = user1
println(name) // Alice