問題タブ [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.
kotlin - How to resolve overload ambiguity in method references?
Say I want to assign the java method Log.d(String, String)
to a variable x
of method type (String, String) -> Int
and I do it like this:
The compiler says:
Obviously there is a second method Log.d(String, String, Throwable)
but how do I tell the compiler which one I want?
guava - Kotlin: 拡張機能として google-guava 静的メソッドを使用する
ボックスから拡張機能として既存の Java 静的メソッドを使用することは可能ですか?
考えてみましょうcom.google.common.collect.Iterables.transform
。さて、これに対処する方法がわからないので、提案された方法を拡張として使用するには、次のように記述する必要があります。
したがって、この後、イテラブルで使用できます。
ただ、自分で拡張子を宣言するのは不要だと思います。この宣言を省略する方法は?
アップデート
私の質問には 2 つの主なサブ質問があります。
既存の (静的) メソッドを拡張機能としてインポートすることはできますか?
いいえ、今のところ不可能です。
既存のグアバを
Function
s などに再利用するにはどうすればよいtransform
Iterable
ですか?回答で提案されているように、代わりに拡張機能
transform
を使用する必要があります。map
sを再利用Function
するには、次のような拡張機能を使用できます。
kotlin - Kotlin: kotlin.String とは! タイプ
型の意味とkotlin.String!
、次のコードをコンパイルするにはどうすればよいですか?
コンパイラは次のエラー メッセージを出力します。
arrays - Kotlin の 2 次元 Int 配列
Int
Kotlinで指定されたサイズの2次元配列を宣言する最も簡単な方法はありますか?
kotlin - disable: kotlin アノテーションのスキャン
春のプロジェクトに Kotlin を混ぜようとしましたが、起動時間に少なくとも 10 秒のパッケージのスキャンが追加されました。
この動作を無効にすることはできますか? もしそうなら、副作用は何ですか?ありがとう。
Kotlin を追加した後の余分なログは次のとおりです。
intellij-idea - IntelliJ は Kotlin インポートをソートしません
Java コードを記述する場合、IntelliJ はインポートを名前で自動的にソートします。ただし、Kotlin でメンバーをインポートすると、並べ替えられないままになります。Code → Optimize Imports ( Ctrl+ Alt+ O) を選択しても何も起こりません。
次に例を示します。
私が期待していること:
Kotlinプラグイン(バージョン0.10.195)でIntelliJ 14.0.2を使用しています
kotlin - Kotlin プラットフォームの型とジェネリック
partitionTo 関数を呼び出そうとすると、これらのエラー メッセージが表示される最後のKotlin Koansタスク 28 でスタックしています。
タイプの末尾にある感嘆符は、プラットフォーム タイプを示していると読みました。java.lang.String!
しかし、私はタイプではなく、タイプを期待していたでしょうkotlin.String!
。null チェックをどこかに強制する必要がありますか? 誰かがこの最後の仕事を手伝ってくれるかもしれません。IntelliJs Kotlin プラグイン バージョン 0.10.195 を使用しています。
これは私のコードです:
constructor - Kotlinで複数のコンストラクタを持つクラスを拡張するには?
私は Kotlin を学習中ですが、理解できない問題に遭遇しました。Kotlin でJava クラスを拡張しRuntimeException
、さまざまな状況で 3 つのコンストラクターのいずれかを使用できるようにしたいと考えています (例外をスローしたいときに持っている情報に基づいて)。Java では、私のクラスは次のようになります。
Kotlin でこれを実行しようとすると、次の回答をガイドとして使用しました。たとえば、次のように関数を使用するのが良い方法のようです。
ただし、上記の Kotlin の例では、常に 2 つの引数を指定してスーパー コンストラクターを呼び出しており、状況に最も適したコンストラクターは呼び出していません。したがって、上記の機能は機能しますが、状況ごとに異なるコンストラクターが呼び出されるJavaで行うこととまったく同じではありません。また、上記の各 fun 内で新しい RuntimeException をインスタンス化し、それを PhotoLibException にキャストしようとしましたが、それは許可されませんでした。
Kotlinでこれを正しく行う方法を誰かが提案できますか?
java - Jackson が特定のプロパティを (逆) シリアル化できないようにするにはどうすればよいですか?
どの Kotlin クラスでも、 format のパブリック プロパティごとに 1 つのメソッドが生成されるcomponentX()
ため、このクラスは次のようになります。
Java では次のようなものと同等です。
componentX()
これは、ジャクソンを各メソッドと見なし、各メソッドgetXxx()
を (逆) シリアル化ターゲットと見なすため、混乱します。
私がこれまでこれを回避してきた方法は、すべてのモデルを Java で作成することでしたが、これは好ましくありません。
つまり、componentX()
メソッドを無視するように ObjectMapper を構成するにはどうすればよいですか?
kotlin - JDK の Kotlin 外部アノテーションが設定されていません
IntelliJ に Android プロジェクトがあります。Android モジュールは Kotlin を使用していません。Kotlin を試してみようと思った Java モジュールがあります。
非常に厄介なエラーがポップアップし続けます。「JDK の Kotlin 外部アノテーションが設定されていません」。私はそれが私にやりたいことは何でもします。エラーが消えてほしいだけです。
JDK の Kotlin 外部アノテーションを設定する場所を知っている人はいますか?