null和null安全
非空类型和可空类型
Kotlin 系统类型分为可空类型和不可空类型。 Kotlin 中引入了可空类型,把有可能为 null 的值单独用可空类型来表示。这样就在可空引用与不可空引用之间划分出一条明确的、 显式的“界线”。
在Kotlin中,在定义变量时,给变量类型后增加?
后缀,来标记类型是否可为空:
上述代码Int?
就是一个可空类型,可以给他一个null值。
可空类型必须判断才能使用
可空类型的变量不允许直接调用方法或属性,但可以先判断该变量不为 null,然后再调用 该变量的方法或属性。
对于Boolean类型:
安全调用
强制调用
Kotlin 用 “!!.” 即可强制调用可空变量的方法或属性,这样强制调用可能引发 NPE:
Elvis运算
Elvis运算是一种if-else的简化写法:
最后更新于
这有帮助吗?