У меня есть метод, которому нужен Comparator
для одного из его параметров. Я хотел бы передать Comparator
, который делает нормальное сравнение и реверс компаратор, который делает наоборот.
java.util.Collections
обеспечивает reverseOrder()
, это хорошо для обратного сравнения, но я не смог найти нормального Comparator
.
Единственное решение, которое пришло мне в голову, это Collections.reverseOrder(Collections.reverseOrder())
. но мне это не нравится, потому что двойной метод вызывает внутри.
Конечно, я мог бы написать NormalComparator
так:
public class NormalComparator<T extends Comparable> implements Comparator<T> {
public int compare(T o1, T o2) {
return o1.compareTo(o2);
}
}
Но я действительно удивлен, что у Java нет готового решения для этого из коробки.