我想将案例类与 scalazNonEmptyList字段进行比较。==oreuqls不起作用,我知道这是因为方法NonEmptyList.equals检查比较对象是否与调用者相同。另一方面,如果必须在范围内隐含,则 scalaz===函数可以正常工作。NonEmptyListEquals
问题是我想让我的案例类通用,并希望它的实例易于比较。
这该怎么做?
如果唯一的解决方案是提供自定义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 = ???
}