然后Kotlin新手问,“为什么下面的代码不编译?”:
var left: Node? = null
fun show() {
if (left != null) {
queue.add(left) // ERROR HERE
}
}
无法智能地将其强制转换为“节点”,因为“左”是一个可变属性,可能此时已更改
我得到的left
是可变变量,但是我正在显式检查left != null
并且left
是类型,Node
所以为什么不能将其智能转换为该类型?
我该如何解决?:)
n.left?.let { queue.add(it) }
我想吗?