Kotlin的空值安全設計,對於宣告可為空值的参數,在使用時要進行空值判斷處理,有兩種處理方式:
//類型後面加?表示可為空值
var age: String? = "2%"
//抛出空值異常
val age1 = age!!.toInt()
//不做處理返回 null
val age2 = age?.toInt()
//age為空值返回-1
val age3 = age?.toInt() ?: -1
當引用可能為null值的時候, 對應的類型宣告必須明確的標記可為null
// 當 str 中的字串内容不是整數時, 返回null
fun parseInt(str: String): Int? {
// ...
}
使用返回值可為null的函数:
fun main(args: Array<String>) {
if (args.size < 2) {
print("Two integers expected")
return
}
val x = parseInt(args[0])
val y = parseInt(args[1])
// 直接使用 `x * y` 會出現錯誤, 因為可能為null
if (x != null && y != null) {
// 進行過null值檢查後, x 和 y 的類型會被自動轉換為非null
print(x * y)
}
}
謝謝大家願意花時間閱讀,小弟弟我在此鞠躬