小编ho *_* ya的帖子

为什么 Kotlin 中 "".equals(1) 有效但 "" == 1 无效?

我目前正在学习 Kotlin,遇到了一种令我困惑的行为。这是让我困惑的两行代码:

"".equals(1) // not compile error
"" == 1 // compile error
Run Code Online (Sandbox Code Playgroud)

"".equals(1)- 此行编译并运行没有任何问题。

"" == 1- 但是,该行会导致编译时错误。

据我了解,在 Kotlin 中,==运算符被翻译为对 equals 方法的调用。所以我很好奇为什么第一个语句被认为是有效的,而第二个语句则不是,尽管两者似乎都试图在 String 和 Int 之间进行相同的比较。

有人可以解释一下 Kotlin 中使第一个语句编译并运行而不是第二个语句的底层机制吗?

equality kotlin

4
推荐指数
1
解决办法
135
查看次数

标签 统计

equality ×1

kotlin ×1