有时希望以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()!!)