一些简单的语法
一些关于空指针的小语法?.
if (a != null)
{
a.dosomething()
}
a?.dosomething()
上面两者等价,同样对于判空操作还有?:
val c = if(a != null) {a}
else{b}
//?: 表示如果a为空,则看b
val c = a ?: b
和!!
val newCase = oldCase!!.toUpperCase()
// !! 是非空断言工具,表示已确定oldCase不会为空了
还有let
// 如果 object 为 null,则 let 闭包中的方法不会被执行
// 如果 object 不为 null,则 let 闭包中默认的 it 变量为不可选类型
object?.let {
it.doSomething()
// 闭包的返回值
"xxx"
}