Sobes.tech
Junior — Middle

Quali metodi automatici crea il compilatore per la data class e a cosa servono?

sobes.tech AI

Risposta dell'AI

In Kotlin, per le data class, il compilatore genera automaticamente diversi metodi utili che semplificano il lavoro con gli oggetti:

  • equals() — per confrontare gli oggetti in base al valore di tutte le proprietà.
  • hashCode() — per ottenere un codice hash coerente con equals().
  • toString() — restituisce una rappresentazione in stringa dell'oggetto con l'elenco di tutte le proprietà.
  • copy() — crea una copia dell'oggetto con la possibilità di modificare alcune proprietà.
  • Funzioni componentN() — per la destrutturazione dell'oggetto in variabili separate.

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

Questi metodi semplificano il lavoro con oggetti immutabili e rendono il codice più espressivo.