問題タブ [kotlin-null-safety]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
kotlin - 新しい値を変更できるvarクラスメンバーの設定はタイプですか?
タイトルの質問に対する答えは「いいえ」だと確信しています。しかし、単純なコードを書いたのですが、コンパイルしようとすると奇妙なエラーが発生します。コード:
コードの最後の行:
println(hippo?.hunger) // println(hippo?.hunger as Int?) が動く!!
コンパイラに次のエラーを表示させます。
Hippo?.hunger は可変プロパティであり、この時点で変更されている可能性があるため、Int へのスマート キャストは不可能です。
しかし、次の行を削除すると、コードはコンパイルされます:
カバ?.空腹 = 5
誰かが私に説明できますか、コードが正常にコンパイルされないようにするこのコード行の何が問題なのですか?