例如,如果我有以下数据类:
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
)
但是,如果值为null
,是否有一种方法可以只使用Data
类构造函数中指定的默认值呢?
我在文档中找不到任何内容,但我希望像这样的东西可以起作用:
val data = Data(newName()?, newNumber()?)
但是那样不会编译。
newName ?: ""
来代替if (newName != null) newName else ""
。这个操作符可以使代码更简洁易懂。 - Mibac