159得票2回答
Java:Comparable与Comparator的区别

可能的重复问题: compare()和compareTo()之间的区别 Java:实现Comparable和Comparator之间的区别是什么? Comparable和Comparator之间的主要区别是什么? 在哪些情况下更喜欢使用其中之一? 谢谢 更新 - 带有示例的好链接...

152得票12回答
为什么java.lang.Number没有实现Comparable接口?

有人知道为什么 java.lang.Number 没有实现 Comparable 吗?这意味着您无法使用 Collections.sort 对 Number 进行排序,这似乎有点奇怪。 帖子讨论更新: 感谢所有有用的回复。最终我又做了一些关于这个问题的研究。 java.lang.Numb...

146得票11回答
何时应该将类定义为可比较的或比较器?

我曾经见过实现了 Comparable 和 Comparator 接口的类。这是什么意思?我该使用哪个接口?它们有何不同之处?

123得票19回答
何时使用Comparable和Comparator

我有一个对象列表,需要按照某个字段(例如Score)进行排序。我写了一个新的实现Comparator接口的类来完成任务,并且它可以工作。 现在回过头想,我在想是否应该让我的类实现Comparable接口,而不是创建一个实现Comparator接口的新类。分数是对象排序的唯一字段。 我所做...

114得票9回答
如何实现Java中的可比较接口?

我不确定如何将Comparable接口实现到我的抽象类中。以下是我正在使用的示例代码,以尝试理解它: public class Animal{ public String name; public int yearDiscovered; public String p...

105得票5回答
为什么Java中Enum的compareTo方法是final的?

在Java中,枚举类型实现了Comparable接口。很遗憾无法覆盖Comparable的compareTo方法,因为它被标记为final。Enum的默认自然顺序是按枚举列表中的顺序排列。 有人知道为什么Java中的枚举类型有这个限制吗?

101得票3回答
如何在 Kotlin 中基于/比较多个值进行排序?

假设我有一个class Foo(val a: String, val b: Int, val c: Date),我想根据所有三个属性对Foo列表进行排序。我该怎么做?

87得票7回答
Java中的Comparable.compareTo返回值是什么意思?

在Java中的compareTo()方法中,返回0、返回1和返回-1有什么区别?

74得票13回答
比较两个通用数字的值

我想比较两个变量,它们都是类型为T extends Number。现在我想知道这两个变量中哪一个大于另一个或者相等。不幸的是,我还不知道确切的类型,我只知道它将是java.lang.Number的子类型。我该怎么做? 编辑:我尝试了另一种解决方法,使用TreeSet,它实际上可以使用自然排序...

61得票5回答
标准API中是否存在自然比较器?

我需要一个比较器作为策略模式的一部分,它可以使用对象的自然顺序或某些自定义顺序。对于自然排序的情况,我编写了一个简单的比较器: private static class NaturalComparator<T extends Comparable<? super T>&gt...