問題タブ [data-class]
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.
json - Json から Kotlin データ クラスへ
Scala Json.Sprayで動作するように、JsonからKotlin Dataクラスを自動的に作成する方法やライブラリはありますか?
このようなもの:
inheritance - Kotlin でデータ クラスを拡張する
データ クラスは、Java の旧式の POJO に取って代わるようです。これらのクラスで継承が可能になることは十分に予想できますが、データ クラスを拡張する便利な方法は見当たりません。私が必要とするのは次のようなものです:
上記のコードは、component1()
メソッドの衝突のために失敗します。クラスの1つだけに注釈を残しdata
ても、うまくいきません。
おそらく、データ クラスを拡張するための別のイディオムがあるでしょうか?
UPD:子の子クラスのみに注釈を付ける場合がありますが、data
注釈はコンストラクターで宣言されたプロパティのみを処理します。つまり、すべての親のプロパティを宣言してopen
オーバーライドする必要があり、これは醜いです:
kotlin - Kotlin データ クラスのプロパティの包含/除外
生成された equals および hashCode の実装に 1 つまたは 2 つのフィールドのみを含める (または 1 つまたは複数のフィールドを除外する) とします。たとえば、単純なクラスの場合:
Groovy には次のようなものがあります。
ロンボクにはこれがあります:
Kotlinでこれを行う慣用的な方法は何ですか?
これまでの私のアプローチ
気分が悪いだけですが...私は本当に変更可能にしたくありませんname
。また、追加のコンストラクターの定義は醜いです。
android - RealmObject の Kotlin データ クラス
Kotlin と Realm を使用してデータ クラスを記述しています
データを db に保存する必要があるため、Realm を使用して保存します。しかし、ご存知のように、クラスを Realm に保存するには、AuthToken
クラスを拡張する必要がありRealmObject
ます。
それが問題です。Kotlin は、データ クラスはクラスを拡張できないと述べています。だから私はデータクラスをあきらめ、通常のKotlinクラスをモデルとして使用するだけで、別の質問が来ます:
Kotlin クラスにはゲッターもセッターもありません。ご存知のように、Realm クラスはすべてのプロパティを private に設定し、ゲッターとセッターを記述する必要があります。
今、私は問題を解決する方法を考えています。
kotlin - Kotlin:実装者がデータクラスでなければならないインターフェース?
拡張できるインターフェイス、または実装クラスがデータ クラスでなければならないインターフェイスを作成する他の方法はありますか? copy() などのデータ クラス API メソッドにアクセスできると便利です。
kotlin - Kotlinデータクラス:コンパイル時に名前がわからない場合、プロパティの値を読み取る方法は?
プロパティ名が実行時にしかわからない場合、Kotlin データ クラス インスタンスでプロパティの値を読み取るにはどうすればよいですか?