Sobes.tech
Junior — Middle

Ar galite paaiškinti, kaip įgyvendinta ir kaip veikia data class Kotlin vidiniame lygyje?

sobes.tech AI

Atsakymas iš AI

Kotlin'e data class yra speciali klasė, skirta duomenų saugojimui. Kompiliatorius automatiškai generuoja keletą naudingų metodų:

  • equals() ir hashCode() — objektų palyginimui pagal reikšmę, o ne nuorodą.
  • toString() — patogiam objekto teksto vaizdavimui.
  • copy() — objekto kopijai su galimybe keisti kai kurias savybes.
  • componentN() funkcijos — objekto destruktūrizacijai.

Viduje, data class turi savybes, deklaruotas pagrindiniame konstruktoriuje, ir joms generuojami prieigos metodai. Tai išvengia pasikartojančio kodo ir daro darbą su tokio tipo klasėmis patogesnį ir saugesnį.

Pavyzdys:

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