可空性
fun getalpha(s:String?)=....
问号可以添加在任何类型的后面来表示这个类型的变量可以存储null 的引用
安全调用运算符 ?.
S?.toUpperCase() 等同于 if (s!=null) s.toUpperCase() else null
如果你调用一个非空值的方法,这次方法会被正常的执行
如果值是null 这次调用则不会发生 而且整个值的表达式也是null
还可以多个判空链接一起调用
this,conpany?.address?.country
安全转换 as?
非空断言 !!
可以把任何值转换成非空类型
let函数
让可空表达式更加容易,和安全调用运算符一起调用,允许你对表达式求值,检查求值结果是否为null
let函数在非空的时候才回去调用
object?.let{ }
延时初始化属性lateinit
Any 是所有类型的超级类型 包括Int 这样的超级类型
使用Any 的时候会被打编译成Java中的Object
网友评论