Test_kotlin(1)

324 阅读1分钟

一些简单的语法

一些关于空指针的小语法?.

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"
}