Sobes.tech
Junior — Middle

¿Qué métodos automáticos crea el compilador para la clase de datos y para qué sirven?

sobes.tech AI

Respuesta de la IA

En Kotlin, para las clases de datos, el compilador genera automáticamente varios métodos útiles que facilitan el trabajo con objetos:

  • equals() — para comparar objetos por el valor de todas sus propiedades.
  • hashCode() — para obtener un código hash coherente con equals().
  • toString() — devuelve una representación en cadena del objeto con la enumeración de todas sus propiedades.
  • copy() — crea una copia del objeto con la posibilidad de modificar algunas propiedades.
  • Funciones componentN() — para la destructuración del objeto en variables separadas.

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) = user2
println(name) // Alice
println(age) // 31

Estos métodos simplifican el trabajo con objetos inmutables y hacen que el código sea más expresivo.