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調用。另外,我可以使用==在過去工作中發佈此代碼。
使用科特林版本1.1.0-rc91
可能是代碼生成的具體類型參數的類標記的相關問題:https://youtrack.jetbrains.com/issue/KT-17879 – hotkey
請檢查是否有更新版本的Kotlin有此行爲。 – hotkey
謝謝 - 是的,它看起來像是一個已知的錯誤:https://youtrack.jetbrains.com/issue/KT-17748發佈作爲答案,我會接受它。 – hudsonb