在Kotlin中,空安全是通过可空类型和非空类型来实现的。
var str: String? = null
这样定义的变量str就可以为null。
当我们想要访问可空类型的变量时,需要使用安全调用操作符"?.",它会在变量为null时返回null,而不会抛出空指针异常。例如:
var length = str?.length
var str: String = "Hello"
如果我们尝试将一个null值赋给非空类型的变量,编译器会报错。
当我们确定一个可空类型的变量不为null时,可以使用非空断言操作符"!!"来访问它的值。例如:
var length = str!!.length
如果str为null,这里会抛出空指针异常。
通过可空类型和非空类型的组合,Kotlin提供了一种更安全的方式来处理空指针异常,使得代码更加健壮和可靠。