は、私がデータクラスフィールドを自身の非ヌルバージョンにキャストできますか?
data class MyModel(private val _data: MyData? = null)
を持っており、それがnull、それ以外投げないとき、私は私のデータのみアクセス可能であることを確認します。 私は以下のものを使用しています。私は以下の苦情をOverride getter for Kotlin data classごとなどのガイドに従うならば、それはfield
が非にキャストすることができないというのは本当です
fun getData(): MyData {
return checkNotNull(_data) { "data shouldn't be null" }
}
しかし、私の代わりにMyData
val data = _data
get(): MyData {
return checkNotNull(field) { "data shouldn't be null" }
}
のMyData?
を返却する必要がありますそれが返ってきたらヌルバージョン?
通常の変数については、可能です。フィールドでは、 "field as String"を試してみてください。クラス変数のカスタムゲッターとしてテストしてください、あなたは私が何を意味するかを見ていきます。 – Elye
@Elye Worksもフィールド用です。私の更新をチェックしてください。 –
こんにちは@Vince、それは 'フィールド'ではありません。それは別の変数からその変数にキャストしているだけです。しかしそれは素晴らしいトリックでもあります。 Upvoteも同様に:) – Elye