extends Comparable[A] 重命名为 extends Ordered[A] 并将 def compareTo 重命名为 def compare 是否足够,或者我应该注意什么?

最佳答案

你是对的,这就是你需要做的。 Ordered 中的其他方法将使用它们的默认实现,如下所示:

def <  (that: A): Boolean = (this compare that) <  0
def >  (that: A): Boolean = (this compare that) >  0
def <= (that: A): Boolean = (this compare that) <= 0
def >= (that: A): Boolean = (this compare that) >= 0
def compareTo(that: A): Int = compare(that)
Ordered 中唯一没有默认实现的是比较,您将使用旧的 compareTo 方法定义它。应该可行,前提是上述内容是您想要进行其他比较的内容。

关于java - 如何将实现 java.lang.Comparable 的类转换为实现 Scala.Ordered?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4519678/

10-11 01:33