10
「変数」は変更可能なプロパティなので、「タイプ」へのスマートキャストは不可能です。
そして、Kotlinの初心者は、「なぜ次のコードがコンパイルされないのか」と質問します。 var left: Node? = null fun show() { if (left != null) { queue.add(left) // ERROR HERE } } 「左」はこの時点で変更されている可能性のある変更可能なプロパティであるため、「ノード」へのスマートキャストは不可能です。 それleftは可変変数ですが、明示的にチェックleft != nullしleftていてタイプなNodeので、なぜそのタイプにスマートキャストできないのですか? これをエレガントに修正するにはどうすればよいですか?:)
275
kotlin