我想将案例类与 scalazNonEmptyList
字段进行比较。==
oreuqls
不起作用,我知道这是因为方法NonEmptyList.equals
检查比较对象是否与调用者相同。另一方面,如果必须在范围内隐含,则 scalaz===
函数可以正常工作。NonEmptyList
Equals
问题是我想让我的案例类通用,并希望它的实例易于比较。
这该怎么做?
如果唯一的解决方案是提供自定义def equals(obj: Any): Boolean
方法,请在下面发布。
我的代码:
object Problem {
case class CC[M, N](s: M, nel: NonEmptyList[N])
CC(1, 2.wrapNel) == CC(1, 2.wrapNel) //false
CC(1, 2.wrapNel) equals CC(1, 2.wrapNel) //false
implicit def cCEquals[M, N] = equalA[CC[M, N]]
CC(1, 2.wrapNel) === CC(1, 2.wrapNel) //false
//override def equals(obj: Any): Boolean = ???
}