問題タブ [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.

0 投票する
5 に答える
5964 参照

json - Json から Kotlin データ クラスへ

Scala Json.Sprayで動作するように、JsonからKotlin Dataクラスを自動的に作成する方法やライブラリはありますか?

このようなもの:

0 投票する
11 に答える
148718 参照

inheritance - Kotlin でデータ クラスを拡張する

データ クラスは、Java の旧式の POJO に取って代わるようです。これらのクラスで継承が可能になることは十分に予想できますが、データ クラスを拡張する便利な方法は見当たりません。私が必要とするのは次のようなものです:

上記のコードは、component1()メソッドの衝突のために失敗します。クラスの1つだけに注釈を残しdataても、うまくいきません。

おそらく、データ クラスを拡張するための別のイディオムがあるでしょうか?

UPD:子の子クラスのみに注釈を付ける場合がありますが、data注釈はコンストラクターで宣言されたプロパティのみを処理します。つまり、すべての親のプロパティを宣言してopenオーバーライドする必要があり、これは醜いです:

0 投票する
10 に答える
19364 参照

kotlin - Kotlin データ クラスのプロパティの包含/除外

生成された equals および hashCode の実装に 1 つまたは 2 つのフィールドのみを含める (または 1 つまたは複数のフィールドを除外する) とします。たとえば、単純なクラスの場合:

Groovy には次のようなものがあります。

ロンボクにはこれがあります:

Kotlinでこれを行う慣用的な方法は何ですか?

これまでの私のアプローチ

気分が悪いだけですが...私は本当に変更可能にしたくありませんname。また、追加のコンストラクターの定義は醜いです。

0 投票する
2 に答える
11843 参照

android - RealmObject の Kotlin データ クラス

Kotlin と Realm を使用してデータ クラスを記述しています

データを db に保存する必要があるため、Realm を使用して保存します。しかし、ご存知のように、クラスを Realm に保存するには、AuthTokenクラスを拡張する必要がありRealmObjectます。

それが問題です。Kotlin は、データ クラスはクラスを拡張できないと述べています。だから私はデータクラスをあきらめ、通常のKotlinクラスをモデルとして使用するだけで、別の質問が来ます:

Kotlin クラスにはゲッターもセッターもありません。ご存知のように、Realm クラスはすべてのプロパティを private に設定し、ゲッターとセッターを記述する必要があります。

今、私は問題を解決する方法を考えています。

0 投票する
2 に答える
896 参照

kotlin - Kotlin:実装者がデータクラスでなければならないインターフェース?

拡張できるインターフェイス、または実装クラスがデータ クラスでなければならないインターフェイスを作成する他の方法はありますか? copy() などのデータ クラス API メソッドにアクセスできると便利です。

0 投票する
4 に答える
34871 参照

kotlin - Kotlinデータクラス:コンパイル時に名前がわからない場合、プロパティの値を読み取る方法は?

プロパティ名が実行時にしかわからない場合、Kotlin データ クラス インスタンスでプロパティの値を読み取るにはどうすればよいですか?