以下代码无法编译:
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。
那么这里到底发生了什么?它是如何工作的?
答案 0 :(得分:0)
这是在youtrack中报告为KT-4071的Kotlin错误,优先级为Major
,所以我认为它会很快修复。例如:
val ok = "2".equals(3) // works fine
val error = "2" == 3 // compilation error