相关疑难解决方法(0)

智能转换为'类型'是不可能的,因为'变量'是一个可变属性,此时可能已被更改

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

225
推荐指数
5
解决办法
6万
查看次数

标签 统计

kotlin ×1