我需要为一些案例类设置一个自定义相等的方法。经过一些在线搜索后,我还没有看到任何明确的解决方案。我应该编写自己的等式检查方法吗?
答案 0 :(得分:2)
是。您需要定义自己的equals
方法:
case class Person(...) {
override def equals(other: Any): Boolean = {
...
}
override def hashCode: Int = {
...
}
}
equals
方法看起来很简单,但也可能是技巧。我强烈建议您阅读Scala Cookbook的以下章节,了解如何Define an equals Method (Object Equality)以及这篇关于Artima的论文:How to Write an Equality Method in Java。