Kotlin 空合并/Elvis运算符

示例

有时希望以if-else方式评估可为空的表达式。Elvis运算符?:可以在Kotlin中用于这种情况。

例如:

val value: String = data?.first() ?: "这里没有什么。"

如果 data?.first ()或数据本身产生 null 值,则上面的表达式返回“ Nothing here” ,否则返回 data?. first ()的结果。

也可以使用相同的语法引发异常以中止代码执行。

val value: String = data?.second() 
    ?: throw IllegalArgumentException("Value can't be null!")

提醒:可以使用断言运算符抛出NullPointerException(例如data!!.second()!!)