case
class SC-W1074Case classes in Scala are good for for modeling immutable data and implement their own equality methods such as equals()
and hashCode()
depending on the parameters that the class takes. This is similar to Java's record
. It is therefore recommended that you do not manually override these methods on your own. If you have to override these methods, consider using a plain class instead of a case class.
case class C(x: Int) {
override def equals(obj: Any): Boolean = ...
override def hashCode(): Int = ...
// Methods
}
case class C(x: Int) {
// Manually overridden equality methods removed
// Methods
}
// Alternately, use a normal class
class C(x: Int) {
override def equals(obj: Any): Boolean = ...
override def hashCode(): Int = ...
// Methods
}