Sobes.tech
Назад к вопросам
Junior — Middle
92

Каким образом можно реализовать создание нового объекта, у которого присутствуют три поля исходного data class и дополнительно два поля в виде объектов?

Компании, где спрашивали
GrowFood

Ответ от нейросети

sobes.tech AI

В Kotlin для создания нового объекта, который содержит три поля из исходного data class и дополнительно два поля-объекта, можно использовать копирование с помощью функции copy() и расширение класса или создание нового класса с нужными полями.

Пример:

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

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

// Новый класс, объединяющий поля
class Extended(
    val a: Int,
    val b: String,
    val c: Double,
    val additional1: Additional,
    val additional2: Additional
)

// Создание из исходного объекта
val original = Original(1, "text", 2.0)
val add1 = Additional("obj1", 10)
val add2 = Additional("obj2", 20)

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

Если нужно именно data class с копированием, можно сделать так:

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)

Таким образом, вы комбинируете поля исходного класса с новыми объектами.