Sobes.tech
Junior — Middle

Quali funzioni o metodi nella data class ricevono automaticamente la sovrascrittura delle operazioni di base?

sobes.tech AI

Risposta dell'AI

In Kotlin, dichiarando una classe con la parola chiave data, i seguenti metodi vengono automaticamente sovrascritti:

  • equals() — per confrontare gli oggetti in base al valore delle loro proprietà.
  • hashCode() — per il corretto funzionamento con le collezioni hash.
  • toString() — per una rappresentazione in stringa comoda dell'oggetto.
  • copy() — per creare una copia dell'oggetto con la possibilità di modificare alcune proprietà.
  • Funzioni componentN() — per la destrutturazione dell'oggetto per proprietà.

Esempio:

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