kotlin之null值安全性
var a: String =null // 编译错误
var a: String? =null // 编译通过
要允许null值, 需要将变量声明为可为null的字符串类型:String?
fun main(arg: Array<String>) { var a: String? =null print(a?.length) }
上面代码是安全调用,如果为null则返回为null
Elcis操作符
fun main(arg: Array<String>) { val b: String? = null val len: Int = if (b != null) b.length else -1 val len2: Int = b?.length ?: -1 //Elvis操作符表示形式是 ?: 等同于上面语句 print(len) print(len2) }
!!操作符
val b: String? = null val s = b!!.length print(s)
如果b为null ,抛出NPE异常
安全类型的转换
fun main(arg: Array<String>) { val b: String? = null val s :Int?=b as? Int print(s) }
如果转换失败则返回null
最后,关注【码上加油站】微信公众号后,有疑惑有问题想加油的小伙伴可以码上加入社群,让我们一起码上加油吧!!!