[Kotlin]ジェネリクスのオーバーロードの衝突をJvmNameで回避する

最近UIが変わって初期画面がトレンドになってしまい見る機会が減ってしまったQiitaを昨日久々に見にいったらこんな昔の記事にコメントしてくれてる親切な方がおりまして、それによると@JvmNameをつければジェネリクスのオーバーロードの衝突をKotlinコード上では回避できると。

とりあえず物は試しでTry Kotlinで動かしてみました。

まずはオーバーロードが衝突するほう
もちろんコンパイルエラーです。

そのつぎにJvmNameを付けたほう
はい。動きました。

たしかに、Java側で名前さえ違えばKotlinで見た目上は同じメソッド名使えますよね。なんで昔気づかなかったのだろうか。まぁこの方法Kotlinでコード書いてKotlinで使う場合にしかできませんが。

こんど何かライブラリ書くときはこれ使ってみようかなw

コメントくれた方ほんとにありがとうございました。

コメント

このブログの人気の投稿

Stellaris 2.0.1 植民スパムプレイ

Stellaris ver2.0 Apocalypse プレイ感想

Xperia XZs SOV35をAndroid 8.0にアップデートしてみた