【发布时间】:2016-01-10 12:51:05
【问题描述】:
假设我在 Java 中有一个 Product 类和 2 个 Comparators:
- 第一个是价格
Comparatorasc 订单。 - 第二个是价格
Comparatordesc order。
如果我将第一个更改为产品名称Comparator,那么第二个将自动更改为名称Comparator?
非常感谢!
示例:
class ProductComparatorByPriceDesc implements Comparator<Customer> {
@Override
public int compare(Product o1, Product o2) {
return o1.getPrice() - o2.getPrice();
}
}
Class ProductComparatorByPriceAsc implements Comparator<Customer> {
@Override
public int compare(Customer o1, Customer o2) {
return o2.getPrice() - o1.getPrice();
}
}
因此,如果我将第一个比较器更改为按名称而非价格排序,那么第二个也会更改,但不会相反!
【问题讨论】:
-
我不明白...
-
我不明白你的问题,恐怕。如果您可以发布 minimal reproducible example 会有所帮助。
-
添加示例,可以吗? @乔恩斯基特
-
好吧,目前尚不清楚您希望一个比较器中的代码更改如何在另一个比较器中更改 - 但无论如何您都不需要两个比较器。将添加一个答案。
-
@JonSkeet ,我知道,但这是我们要求的,我一无所知!
标签: java sorting interface comparator