Null Coalescing Elvis Operator
有时需要以 if-else 方式评估可空表达式。elvis 运算符 ?:
可以在 Kotlin 中用于这种情况。
例如:
val value: String = data?.first() ?: "Nothing here."
如果 data?.first()
或 data
本身产生 null
值,则上面的表达式返回 Nothing here
,否则 data?.first()
的结果。
也可以使用相同的语法抛出异常以中止代码执行。
val value: String = data?.second()
?: throw IllegalArgumentException("Value can't be null!")
提醒:可以使用断言运算符抛出 NullPointerExceptions (例如
data!!
.second()!!
)