基于Double值对对象进行排序?

时间:2009-08-04 19:06:42

标签: scala comparison

通过混合Ordered并提供compare()函数,对对象进行排序非常简单,如here所示。但是,如果您的排序值是Double而不是Int?

  

def compare(that:MyClass)= this.x - that.x

其中x是Double会导致编译器错误:“type mismatch; found:Double required:Int”

有没有办法使用双打进行比较而不是投射到Ints?

1 个答案:

答案 0 :(得分:8)

最简单的方法是委托RichDouble Double的实施(def compare(that : MyClass) = x.compare(that.x) 将被隐式转换):

{{1}}

这种方法的优点是它对所有原始类型的工作方式相同。