Junior — Middle
Hoe kan het maken van een nieuw object worden gerealiseerd dat drie velden van de oorspronkelijke data class bevat en daarnaast twee velden in de vorm van objecten?
sobes.tech AI
Antwoord van AI
In Kotlin, om een nieuw object te maken dat drie velden bevat van de originele data class en daarnaast twee object-velden, kun je de kopieerfunctie copy() gebruiken en de klasse uitbreiden of een nieuwe klasse maken met de benodigde velden.
Voorbeeld:
data class Original(val a: Int, val b: String, val c: Double)
data class Additional(val x: String, val y: Int)
// Nieuwe klasse die de velden combineert
class Extended(
val a: Int,
val b: String,
val c: Double,
val additional1: Additional,
val additional2: Additional
)
// Aanmaken vanuit het originele object
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)
Als je precies een data class met kopieerfunctie nodig hebt, kun je het zo doen:
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)
Zo combineer je de velden van de originele klasse met de nieuwe objecten.