Scala 为什么case类要求重写equals()?

Scala 为什么case类要求重写equals()?,scala,intellij-idea,case-class,Scala,Intellij Idea,Case Class,我刚开始在我的电脑上使用Intellij。我创建了一个基本sbt项目,init我创建了一个基本案例类: case class Category(cat: String, value: Seq[String]) 这要求我要么将“Category”声明为抽象,要么在“scala.equals”中实现“equals(that:Any):Boolean”。我以前使用过案例类(不是在我的电脑上),也从未被要求这样做。为什么它会问我这个问题???请看: 这似乎是由于Scala/Java或其组合的过时或实验

我刚开始在我的电脑上使用Intellij。我创建了一个基本sbt项目,init我创建了一个基本案例类:

case class Category(cat: String, value: Seq[String])
这要求我要么将“Category”声明为抽象,要么在“scala.equals”中实现“equals(that:Any):Boolean”。我以前使用过案例类(不是在我的电脑上),也从未被要求这样做。为什么它会问我这个问题???

请看:

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

请查看:


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

请提供更多代码。如果我使用您编写的case类,它编译得很好@Christiannerdal,没有其他代码!我打开了Intellij->创建新sbt项目->创建scala类Category.scala->编写上面的代码init..是IDE还是编译器在问你?请提供更多代码。如果我使用您编写的case类,它编译得很好@Christiannerdal,没有其他代码!我打开了Intellij->创建新的sbt项目->创建scala类Category.scala->编写上面的代码init..是IDE还是编译器在问你?谢谢,这就是问题所在。谢谢,这就是问题所在。