класс не является классом данных, поэтому вы можете лениво инициализировать свойства из параметров, а не определять свойства в основном конструкторе, например:

мер, если у меня есть следующий класс данных:

data class Data(
    val name: String = "",
    val number: Long = 0
)

И функции, которые могут вернутьnull:

fun newName(): String? {}

fun newNumber(): Long? {}

Я знаю, что могу использовать следующее, чтобы использовать значение функций, если они неnull:

val newName = newName()
val newNumber = newNumber()

val data = Data(
        if (newName != null) newName else "",
        if (newNumber != null) newNumber else 0
)

Но есть ли способ просто использовать значение по умолчанию, указанное в конструктореData класс, когда значенияnull?

Я не мог найти ничего в документации, но я надеялся, что что-то вроде этого будет работать:

val data = Data(newName()?, newNumber()?)

Но это не компилируется.

Ответы на вопрос(2)

Ваш ответ на вопрос