Kotlin基础教程-空值安全

xiaoxiao2021-02-28  107

空安全

Kotlin系统有一项重要的特点,就是致力于想灭空引用。避免出现NPE(NullPointerException)异常。

在Kotlin中定义一个允许为空的变量定义和不允许为空的定义方式是不一样的。

var a: String ="abc"//不能为空 var b: String? = "abc"//可以为空 b.length//可能会报错 //第二个就比第一个多了一个`?`

空值检查

val l = if (b != null) b.length() else -1

安全调用

b?.length()

如果b为空,返回,不调用length()

Elvis 操作符

?:

val l = b.length()?: -1

如果b为空,则l=-1。

检查函数参数一般这么写:

fun foo(node: Node): String? { val parent = node.getParent() ?: return null val name = node.getName() ?: throw IllegalArgumentException("name expected") //... }

!!操作符

val b: String? = null val l = b!!.length

安全转换

val aInt: Int? = a as? Int
转载请注明原文地址: https://www.6miu.com/read-65848.html

最新回复(0)