Kotlin 空合并/Elvis运算符
示例
有时希望以if-else方式评估可为空的表达式。Elvis运算符?:可以在Kotlin中用于这种情况。
例如:
val value: String = data?.first() ?: "这里没有什么。"
如果data?.first()或数据本身产生null值,则上面的表达式返回“Nothinghere”,否则返回data?.first()的结果。
也可以使用相同的语法引发异常以中止代码执行。
val value: String = data?.second() ?: throw IllegalArgumentException("Value can't be null!")
提醒:可以使用断言运算符抛出NullPointerException(例如data!!.second()!!)