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)
  }
}
謝謝大家願意花時間閱讀,小弟弟我在此鞠躬![]()