
我是几个月前写的。
public abstract class ChainedComparator<T> implements Comparator<T> { private Comparator<T> next; @Override public int compare(T o1, T o2) { int result = doCompare(o1, o2); if (result == 0) { if (getNext() != null) { return getNext().compare(o1, o2); } } return result; } public abstract int doCompare(T o1, T o2); public Comparator<T> getNext() { return next; } public void setNext(Comparator<T> next) { this.next = next; }}只需从此类继承并重写doCompare-Method。然后使用设置链中的下一个比较器
setNext()。比较器在此链中出现的越早,就越“重要”。
编辑:
另请参阅我发现的内容:http
:
//commons.apache.org/collections/api-2.1.1/org/apache/commons/collections/comparators/ComparatorChain.html
这是apache
commons集合库的一部分,您可以在此处下载
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)