将 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/