为什么 case class 要求覆盖 equals()?

why case class ask to override equals()?

我刚开始在我的电脑上使用 Intellij。我创建了一个基本的 sbt 项目并初始化我创建了一个基本案例 class:

case class Category(cat: String, value: Seq[String])

这要求我将 'Category' 声明为抽象的或在 'scala.Equals' 中实现 'equals(that:Any): Boolean'。我以前用过 case classes(不是在我的电脑上),但从未被要求这样做。为什么要问我这个??

请看:https://intellij-support.jetbrains.com/hc/en-us/community/posts/206638075-error-case-classes-in-scala-doesn-t-need-implement-equal-method

这似乎是由 Scala/Java 或其组合的过时或实验版本引起的。