Junior — Middle
¿Puedes explicar cómo se implementa y funciona la data class en Kotlin a nivel interno?
sobes.tech AI
Respuesta de la IA
En Kotlin, data class es una clase especial diseñada para almacenar datos. Al compilarse, el compilador genera automáticamente varios métodos útiles:
equals()yhashCode()— para comparar objetos por valor, no por referencia.toString()— para una representación en cadena conveniente del objeto.copy()— para crear una copia del objeto con la posibilidad de modificar algunas propiedades.- Funciones
componentN()— para la destructuración del objeto.
Internamente, data class contiene propiedades declaradas en el constructor primario, y se generan métodos de acceso para ellas. Esto evita código repetitivo y hace que trabajar con estas clases sea cómodo y seguro.
Ejemplo:
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