Kotlin新手问道,"为什么下面的代码不能编译?":
var left: Node? = null
fun show() {
if (left != null) {
queue.add(left) // ERROR HERE
}
}
Run Code Online (Sandbox Code Playgroud)
智能转换为'Node'是不可能的,因为'left'是一个可变属性,此时可能已被更改
我得到的left
是可变变量,但是我明确地检查left != null
并且left
是类型的Node
,为什么它不能被智能化到那种类型?
我怎样才能优雅地解决这个问题?:)
kotlin ×1