为什么我们真的需要Java中的Comparator?

时间:2017-04-02 15:33:10

标签: java

我的问题基本上分为两个子问题:

  1. 关于自然排序的可比较的讨论。谁阻止我们在compareTo方法中实现非自然的订购登录?

  2. 比较器可以执行与Comparable(ASC或DESC排序)相同的操作。所以它存在的唯一原因是因为如果我们有一个我们无法改变的第三方类(使它实现Comparable),那么我们可以使用Comparator将排序逻辑外部化。这是对的吗?

1 个答案:

答案 0 :(得分:3)

一个类只能有一个compareTo方法,但您可以根据需要定义任意数量的比较器。这对于定义不同的排序非常有用,而这种排序并非如此罕见。