【问题标题】:<Int> == <String><整数> == <字符串>
【发布时间】:2016-08-27 17:14:24
【问题描述】:

为什么我可以将 Scala 中的 Int 和 String 与 == 进行比较,例如 1=="2",即使 API 中没有为字符串定义此运算符 (http://www.scala-lang.org/api/2.11.8/index.html#scala.Int)?

【问题讨论】:

  • 请注意,编译器会警告您:“警告:使用 `==' 比较 Int 和 String 类型的值将始终产生 false”。有许多方法可以完全防止不相等类型的比较。例如scalautils.org;我还写了一个小宏:github.com/Sciss/Equal

标签: scala types


【解决方案1】:

因为它定义在Any:def ==(arg0: Any): Boolean

测试两个对象是否相等。表达式 x == that 等价于 if (x eq null) that eq null else x.equals(that)。

【讨论】:

  • 要在文档中查看此内容,您需要单击 scaladoc 顶部的 Inherited: "Any"。为清楚起见,默认情况下已取消选择它。
猜你喜欢
  • 2023-03-14
  • 2019-09-19
  • 2011-03-14
  • 1970-01-01
  • 2018-10-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多