【发布时间】:2020-08-26 18:00:17
【问题描述】:
在下面的代码sn-p中,两个Codeblocks有什么区别?
如果我检查println(name==it),则返回 true,所以它们必须引用同一个对象,对吧?
但是,当 name 变量有值时,一切正常,但是一旦我将其设置为 null,代码块 1 就可以工作(这意味着 let 块根本不会被执行),但代码块 2 会抛出错误。当name为空时,为什么 kotlin 不只是跳过/忽略代码块 2?
fun main() {
var name:String? = "Cedric"
//name = null
//Codeblock 1
name?.let{
println("The length of name is ${name.length}")
}
//Codeblock 1
name?.let{
println("The length of name is ${it.length}")
}
}
非常感谢,感谢您的帮助。
【问题讨论】:
标签: android kotlin null let kotlin-null-safety