Sobes.tech
Junior — Middle

Aké komponenty alebo prvky automaticky vytvára trieda Kotlin označená ako data?

sobes.tech AI

Odpoveď od AI

Trieda označená v Kotlinu ako data automaticky získa nasledujúce komponenty:

  • Metóda equals() — porovnanie objektov podľa hodnoty ich vlastností.
  • Metóda hashCode() — výpočet hash kódu na základe vlastností.
  • Metóda toString() — reťazcová reprezentácia objektu s výpočtom vlastností.
  • Metóda copy() — vytvorenie kópie objektu s možnosťou zmeny niektorých vlastností.
  • Funkcie dekompozície (componentN()) — umožňujú rozbaliť objekt na samostatné premenné.

Príklad:

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