그리고 Kotlin 초보자는 "다음 코드가 컴파일되지 않는 이유는 무엇입니까?"라고 묻습니다.
var left: Node? = null
fun show() {
if (left != null) {
queue.add(left) // ERROR HERE
}
}
'left'는 현재 변경 될 수있는 변경 가능한 속성이므로 'Node'로 스마트 캐스트 할 수 없습니다.
그 얻을 left
가변 변수,하지만 난 명시 적으로 확인하고있어 left != null
및 left
유형 인 Node
유형에 스마트 캐스트 왜이 될 수 없다?
이것을 어떻게 우아하게 고칠 수 있습니까? :)
n.left?.let { queue.add(it) }
나는 생각 하는가?