kotlin 空指针检查
1【?】
可空类型,表示当前对象可以为空
var a: String = "abc"; a = null // 编译失败
var a: String? = "abc"; a = null // 编译成功
2【?.】
安全调用操作符。调用一个对象的方法,如果对象为空,则不执行方法且不报null异常
var a: String? a = null var b = a?.length // a为空,返回null;
3【?:】
elvis操作符,不同与三目运算符,当案例2中a为null时,可用?: 返回一个值。例如
var a: String? a = null var b = a?.length ?: -1 // a为空,执行【?:】,返回-1;
4【!!】
当前对象为空,抛空指针异常,与【?】相反
var a: String? a = null var b = a!!.length // a为空,编译失败 ;