04. NULL检查机制

Kotlin 空安全检查机制,有多种处理方式。
可以使用 !! 符号,抛出异常
可以使用 ? 认可NULL
对 NULL 可以不做处理,也可以再配合 ?: 做空判断处理

    var age:Int? = 27           //可以为空的 age
    val age1 = age!!.toInt()    //为空则抛出异常
    val age2 = age?.toInt()     //为空则返回null
    var age3 = age?.toInt() ?: -1   //为空则返回 -1

常见的有函数返回值,如果不是整数就是NULL,那么函数可以写成
fun getNum() :Int? {
...
}
示例演示一下值为null的函数处理

fun addNew(x: Int?, y: Int?): Int? {
    if (x != null && y != null) {
        return x + y
    }else if (x != null){
        return x
    } else if (y != null){
        return y
    }
    return null
}

调用方法

    println(addNew(3,5))
    println(addNew(null,5))
    println(addNew(3,null))
    println(addNew(null,null))

运行结果

8
5
3
null

可见这个 addNew 函数,对输入的参数进行了 null 判断。如果都为 null,就返回 null;如果有一个值为 null,就返回另一个值;如果都不为null,就返回和值。

你可能感兴趣的:(04. NULL检查机制)