Yis*_*hai 54 java comparable comparator
我需要一个比较器作为策略模式的一部分,可以使用对象的自然顺序或一些自定义顺序.对于自然排序的情况,我写了一个简单的比较器:
private static class NaturalComparator<T extends Comparable<? super T>> implements Comparator<T> {
@Override
public int compare(T o1, T o2) {
return o1.compareTo(o2);
}
}
Run Code Online (Sandbox Code Playgroud)
看起来很简单,但我想知道是否有人知道标准API中的一个.我查看了TreeMap,它没有这样的类,所以当编写代码时,明显的答案是否定的,但也许稍后会添加.
Jul*_*ien 64
static <T extends Comparable<? super T>> Comparator<T> naturalOrder()
Run Code Online (Sandbox Code Playgroud)
像这样使用它,例如:
Comparator<Double> natural = Comparator.<Double>naturalOrder();
return natural.compare(1.0, 1.1));
Run Code Online (Sandbox Code Playgroud)
Kev*_*ion 50
是的,JDK绝对拥有它!这里是:
Collections.reverseOrder(Collections.reverseOrder())
开玩笑.(但这是真的.(只是不要实际使用它.(永远.)))
Eug*_*kov 10
JDK没有它,但它被称为ComparableComparator,它存在于许多框架中,如Spring,Apache Commons,Hibernate和许多其他框架
归档时间: |
|
查看次数: |
29460 次 |
最近记录: |