3
:==とequalsの結果が異なるのはなぜですか?次のコードを実行する
inline fun <reified R> foobar() {
println(R::class == Double::class)
println(R::class.equals(Double::class))
}
fun main(args: Array<String>) {
foobar<Double>()
}
は、以下の出力を生成します
false
true
なぜ==の間に差があり、この場合に等しいですか? IntelliJ自体は、equals呼び出しを==に置き換えることを提案しています。また、私は==を使用してこのコードを誓っていたかもしれませんでしたが、過去に働いていました。 kotlinバージョン1.1.0-rc91
おそらく、改訂型パラメータのクラストークンのコード生成に関する関連する問題:https://youtrack.jetbrains.com/issue/KT-17879 – hotkey
新しいバージョンのKotlinでこの問題が発生しているかどうかを確認してください。 – hotkey
ありがとうございます - はい、それは既知のバグのようです:https://youtrack.jetbrains.com/issue/KT-17748回答として投稿し、私はそれを受け入れます。 – hudsonb