小编典典
我是几个月前写的。
public abstract class ChainedComparator implements Comparator {
private Comparator 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 getNext() {
return next;
}
public void setNext(Comparator 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集合库的一部分,您可以在此处下载
2020-11-16