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()!!
)