Sobes.tech
Junior — Middle

Kako realizovati kreiranje novog objekta koji sadrži tri polja originalne data klase i dodatno dva polja u obliku objekata?

sobes.tech АИ

Одговор од АИ

U Kotlinu, za kreiranje novog objekta koji sadrži tri polja iz originalnog data class-a i dodatno dva polja-objekta, možete koristiti kopiranje pomoću funkcije copy() i proširenje klase ili kreirati novu klasu sa potrebnim poljima.

Primer:

data class Original(val a: Int, val b: String, val c: Double)

data class Additional(val x: String, val y: Int)

// Nova klasa koja kombinuje polja
class Extended(
    val a: Int,
    val b: String,
    val c: Double,
    val additional1: Additional,
    val additional2: Additional
)

// Kreiranje iz originalnog objekta
val original = Original(1, "tekst", 2.0)
val add1 = Additional("obj1", 10)
val add2 = Additional("obj2", 20)

val extended = Extended(original.a, original.b, original.c, add1, add2)

Ako vam je potrebna tačno data class sa kopiranjem, možete to uraditi ovako:

data class Extended(
    val a: Int,
    val b: String,
    val c: Double,
    val additional1: Additional,
    val additional2: Additional
)

val extended = Extended(original.a, original.b, original.c, add1, add2)

Na ovaj način, kombinujete polja originalne klase sa novim objektima.