相关疑难解决方法(0)

当传递null时,有没有办法在非可选参数上使用默认值?

例如,如果我有以下数据类:

data class Data(
    val name: String = "",
    val number: Long = 0
)
Run Code Online (Sandbox Code Playgroud)

和可以返回的功能null:

fun newName(): String? {}

fun newNumber(): Long? {}
Run Code Online (Sandbox Code Playgroud)

我知道如果不是,我可以使用以下代码来使用函数的值null:

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

val data = Data(
        if (newName != null) newName else "",
        if (newNumber != null) newNumber else 0
)
Run Code Online (Sandbox Code Playgroud)

但有没有办法在值为时使用Data类的构造函数中指定的默认值null

我在文档中找不到任何内容,但我希望这样的东西能够工作:

val data = Data(newName()?, newNumber()?)
Run Code Online (Sandbox Code Playgroud)

但那不编译.

nullable default-parameters kotlin

32
推荐指数
2
解决办法
2万
查看次数

标签 统计

default-parameters ×1

kotlin ×1

nullable ×1