Как инициализировать вложенный класс данных в Kotlin? - PullRequest
0 голосов
/ 17 июня 2020

У меня есть следующая структура в классе данных:

data class A(
    val b: Int,
    val c: C
) {
    data class B(
        val d: Int
    )

    data class C(
        val d: Int
    )  
}

, и экземпляр этого класса передается методу со следующей подписью:

fun doSomethingMethod(object: A.B?): Mono<Unit> =
            // do something
            }

Итак теперь я пытаюсь инициализировать экземпляр класса данных A только с инициализацией B, но я не понимаю, как это сделать. Пока что я пробовал:

val testObject = A(A.B(5))

Но это не работает. У кого-нибудь есть идея?

1 Ответ

2 голосов
/ 17 июня 2020

Чтобы создать объект вложенного класса данных, просто используйте следующий синтаксис:

val instance = OuterClass.NestedClass([params])

В вашем случае это будет:

val b = A.B(5)

Полный пример:

fun doSomethingMethod(b: A.B?): Mono<Unit> {
    // do something
}

val b = A.B(5)
val mono = doSomethingMethod(b)
...