Scala 标准库对 toString() 和 hashCode() 的使用



是否可以安全地假设:

因为scala。由于与Java的互操作性,AnyRef用一对括号定义了toString()和hashCode()(正如Martin在中所建议的:https://groups.google.com/forum/#!主题/scala语言/RlV9O1RDmis)、

Scala标准库中的每个类都是Scala的派生类。AnyRef用一对括号定义toString()和hashCode()

换句话说,我能相信标准库的开发人员在为AnyRef的派生类使用toString()和hashCode()时是一致的吗?

Edit-将问题更改为只询问AnyRef 的派生类

由于您只需要一个反例,所以现在开始:

object Int extends AnyValCompanion {
  ...
  override def toString = "object scala.Int"
}

但是,在标准库源代码上查找"toString[^(]"会出现数百个其他问题。

请注意,在Scala2.0中,Scala语言规范中明确添加了用空参数列表和无参数列表覆盖方法的功能。

最新更新