問題タブ [kotlin-extension]

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

kotlin - Kotlin リスト末尾関数

テール関数を見つけようとしていますが、List<T>見つかりませんでした。私はこれをやってしまった。

これを行うより良い方法はありますか?

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

enums - Kotlin: enum クラスを拡張関数で拡張する方法

次の関数を使用して型の列挙型クラスを拡張しようとしてStringいますが、次のように呼び出しサイトで使用できません。

ここで何が間違っていますか?

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

kotlin - toString を使用してデータ クラスを拡張する方法

データクラスを作成しました

toStringプログラムの後半では、メソッドを拡張しようとしたこのデータ クラスの文字列表現が必要です。

ここでの問題は、toStringトップレベルの関数には適用できないため、関数を拡張 (オーバーライド) できないことです。

カスタムデータクラスの toString メソッドを適切にオーバーライド/拡張​​する方法は?

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

kotlin - Kotlin:トランザクションクラスのコンテキストでサービスメソッドを実行する方法は?

サービスメソッドでデータベース呼び出しを定義したいのですがTransaction、サービス自体で接続を開かずにクラスのコンテキストで実行して、同じトランザクションに複数のサービス呼び出しを含めることができるようにします。

このようなものを探していますが、よくわかりません。

これを行う方法はありますか?

次のように、トランザクション インスタンスをサービスに渡すことができることを知っています。

...しかし、よりエレガントなパターンを望んでいます。

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

kotlin - V1.0.1 で認識されない Kotlin 拡張プロパティ

1.0.1 より前のバージョンの Kotlin のコードを再確認すると、拡張プロパティが機能しなくなっているようです。実際、それはまだありますが、オーバーライドすることはできなくなりました。

このクラスを考えてみましょう:

Kotlin 1.0.1より前では、次の拡張機能がある場合、これは機能します。

loggerName は、デフォルトで問題のインスタンスのクラス名を取ります。現在、この場合、loggerName はTestClassに正しく割り当てられていますが、オーバーライドすることはできません。

これは偶発的なバグですか、それともこの新しいバージョンの Kotlin の新しい制限ですか? Kotlin - Extensionsを検索しましたが、動作するはずであることがわかりました。

テクニカル:

Kotlin プラグイン バージョン 1.0.1-release-IJ143-32 を使用して IntelliJ IDEA 2016.1 でこれをテストしています。

編集1:

TestClass はこのプロパティを認識しませんが、TestClass のインスタンス (例: instanceOfTestClass.loggerName) にアクセスすると認識されます。

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

kotlin - Kotlin 拡張メソッドの整理方法

「MyClass」の拡張メソッドがいくつかあるとしましょう。私の質問は、これらのメソッドを整理/保存するためのベストプラクティスは何ですか? それらは単純に「MyClassExtensions」Kotlin ファイルに入れる必要がありますか?

これらのメソッドをクラス内にカプセル化しようとしましたが、クラスをインポートした後、拡張メソッドを使用/アクセスする方法がわかりませんでした。

編集:明確にするために、拡張メソッドを含むファイルを何と呼ぶか​​についての助けを求めていませんでした。そのような方法を保存/整理するためのベストプラクティス/アプローチについて尋ねていました。すなわち。単純に kotlin ファイルに入れるか、クラスにカプセル化するか。私は Java のバックグラウンドを持っているので、クラスに何かを格納するのに慣れています。

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

nullable - Kotlin-拡張機能とプラットフォームの種類?

ResultSetとして値を取得する2つの拡張関数を追加したいと思いLocalDateます。

問題はgetDate()a を返すことです。明らかに、呼び出し前にDate!null エラーが発生する可能性があります。ただし、この拡張機能を使用する人は、結果をではなくとして使用する必要があります。?.toLocalDate()LocalDate?LocalDate!

一貫性のためにプラットフォームの種類を維持する方法はありますか? そして、拡張関数のユーザーに、null 許容を許可するかどうかを決定させますか? それとも、これを機能ではなく不便と見ているのでしょうか?

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

java - Kotlin を使用したメソッドで例外をスローします

このJavaコードをKotlinに変換しようとしています:

問題は、メソッドを実装すると、次のようなものが得られることです

Kotlin で例外をスローすることについて私が見つけた唯一の情報はTHISです。

疑問符を削除することは別として、必要ではないためIOException、同じように処理しないのはなぜですか? この状況を処理する最善の方法は何ですか?