kotlin基础 空值检查

Posted superxuezhazha

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kotlin基础 空值检查相关的知识,希望对你有一定的参考价值。

NULL检查机制

Kotlin的空安全设计对于声明可为空的参数,在使用时要进行空判断处理,有两种处理方式,字段后加!!像Java一样抛出空异常,另一种字段后加?可不做处理返回值为 null或配合?:做空判断处理

//类型后面加?表示可为空
var age: String? = "23" 
//抛出空指针异常
val ages = age!!.toInt()
//不做处理返回 null
val ages1 = age?.toInt()
//age为空返回-1
val ages2 = 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)
  }
}

 

以上是关于kotlin基础 空值检查的主要内容,如果未能解决你的问题,请参考以下文章

访问片段的上下文 [重复]

Firebase 到 Kotlin 片段

如何从片段 KOTLIN 中调用意图 [重复]

Kotlin空安全 ① ( Kotlin 的空安全机制 | 变量可空性 | 默认变量不可赋空值 | 声明可空类型变量 )

如何在 Kotlin 片段内的按钮之间切换片段?

kotlin-从一个片段更改多个片段的小数位