为什么==在Kotlin

时间:2017-07-10 21:33:59

标签: compiler-errors kotlin

以下代码无法编译:

if ("2" == 3) {
  //do something
}

Error: Kotlin: Operator '==' cannot be applied to 'String' and 'Int'

然而,Kotlin文档说这是结构上的平等,并被翻译为a?.equals(b) ?: (b === null)https://kotlinlang.org/docs/reference/equality.html

那么这里到底发生了什么?它是如何工作的?

1 个答案:

答案 0 :(得分:0)

这是在youtrack中报告为KT-4071的Kotlin错误,优先级为Major,所以我认为它会很快修复。例如:

val ok = "2".equals(3) // works fine
val error = "2" == 3 // compilation error