Scala覆盖某种类型的等于

时间:2014-03-19 09:18:08

标签: scala equals case-class

我有一个适用于两个序列的方法。我使用groupBy函数,该函数依次使用equals方法来实际分组我要求它分组的元素。这是我的方法:

  def mergeFunc[T][B](seq1: Seq[(T, B)], seq2: Seq[(T, B)]) = {
    val result = seq1.groupBy(_._1).mapValues(_.foldLeft(0)((total, current) => total + current._2))
    ......
    ......
  }

现在在上面的函数中,我怎么能让groupBy也适用于我的case类?例如,我有一个案例类,它是其他类型的组合(可能是也可能不是案例类),我不想去为所有这些类型编写equals实现。我如何隐式或明确地指定我传递给此方法的case类,如:

 mergeFunc[TypeA][Long](Seq(TypeA, Long), Seq(TypeA, Long))

我如何保证groupBy能够处理一个我希望作为参数传递给此方法的equals方法?

0 个答案:

没有答案
相关问题