null安全是java空指针异常调优方案,kotlin将变量分为Nullable(可为空类型)和Non-Null(不可为空类型)。
两种变量声明方式:
Non-Null
var a:String="hello"
不支持的写法
var a:String=null//非空的变量不可以赋值为空
Nullable
var b:String?="world"
kotlin的变量类型可以由赋值的类型决定,包括数据类型String和变量类型是否可为空。
注意可为空的变量不可直接赋值给非空变量;同理,非空的变量不可直接赋值给可为空的变量。
提供几种常见的kotlin判空的写法:
1.?.
?.不为空时执行后面的参数,为空时返回null
2.?:
?:为空时执行后面的,不为空的时候截掉。