問題タブ [kotlin]

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 投票する
1 に答える
1300 参照

intellij-idea - Kotlin で JavaFX プロジェクトの jar を生成する

Kotlin をいじっていたときに、Kotlin で書かれた JavaFX アプリ用の jar を生成できるかどうか疑問に思いました。そこで、簡単なアプリを作成し、IntelliJ IDEA で動作しましたが、jar を生成することにしたとき、動作しませんでした! メインクラスが見つからない、またはロードできないと表示されます。

問題は、プロジェクト設定でメイン クラスを要求されたときに、アプリケーション クラス名を入力したことだと思います (パッケージ レベルである必要があるため、メイン メソッドは含まれていません)。純粋な Java では、 main メソッドをアプリケーション クラス内に配置すると、完全に機能します。では、どうすればこれを回避できますか?

EDIT:ターゲットをJavaFXアプリケーションから通常のJarに変更しようとしたところ、うまくいきました。JavaFX アプリケーション ターゲットで動作しない理由がわかりません。

0 投票する
1 に答える
1288 参照

android - kotlin android プロガードエラー

apk をビルドしてプロガードしようとしていますが、次のようなメッセージで失敗します。

proguard.cfg に -dontwarn on kotlin.dom.** を追加しましたが、役に立ちません。

0 投票する
3 に答える
2543 参照

spring - kotlin の数値はシリアライズできません

kotlin の数値はシリアライズできないことがわかりました。

  1. 最初の問題

Device.kt:

DeviceRestRepository.kt:

kotlin.LongはSerializableではないため、このコードをコンパイルしようとするとエラーが発生します。

エラー:(14、72) Kotlin:型引数がその境界内にありません:「java.io.Serializable?」のサブタイプにする必要があります

  1. 第二の問題

java.lang.Longを使用しようとすると、同じエラーが発生します。

DeviceRestRepository.kt:

警告:(14, 72) Kotlin: このクラスは Kotlin では使用しないでください。代わりに kotlin.Long を使用してください。

エラー:(14、72) Kotlin:型引数がその境界内にありません:「java.io.Serializable?」のサブタイプにする必要があります

0 投票する
9 に答える
46100 参照

kotlin - Kotlin で null 許容または空のリストを処理する慣用的な方法

activitiestypeの変数があるとしますList<Any>?。リストが null でも空でもない場合は、何かを行いたいと考えています。それ以外の場合は、別のことを行いたいと考えています。私は次の解決策を思いつきました:

Kotlinでこれを行うためのより慣用的な方法はありますか?

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

dependency-injection - Dagger で Kotlin を使用する

Dagger を使用して依存関係をクラス、特にアクティビティなどの引数のないコンストラクター クラスに注入するための最良の方法は何ですか? Dagger 2 は状況を改善する可能性がありますか?

前もって感謝します。

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

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

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

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

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

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