Kotlin学习笔记-数据类型 可空类型相关操作符(4)

java中为了防止对象为空时出现的错误,通常会在代码中加入非空判断

if(object != null){
   object.xxx();
}

kotlin中 不可空类型的变量一定不会是null,所以可以放心的拿去用 ^
可空类型的变量不能直接进行操作

image.png

虽然str2已经被赋值为“abc”,还是不能直接使用,只因为str2是可空类型的

可空类型使用方式

if 判断
与java相同

image.png

经过判断后 str2由 String?类型 自动转换成了String类型。

安全调用符 ?.
如果?.前的对象不为null正常执行,如果为null那么表达式直接返回null

image.png

非空断言 !!
如果可以保证可空类型的值一定不为空,可以使用"!!"操作符。
但是当可空类型的值为null同时使用"!!"操作符进行操作就会出现空指针异常

image.png

Elvis 操作符 ?:
如果 Elvis运算符左侧不为null则执行左侧,如果为null执行右侧

赋值.png

return.png

你可能感兴趣的:(Kotlin学习笔记-数据类型 可空类型相关操作符(4))