Ответ 1
В Компараторе реализованы nullsFirst
nullsLast
: nullsFirst
или nullsLast
:
Comparator.comparing(YourObject::getStartDate,
Comparator.nullsFirst(Comparator.naturalOrder())
)
Я выполнил сортировку по коллекции, используя выражение лямбда для сравнения. Я должен проверить нулевые значения, поэтому я придумал это решение для компаратора
(a,b)->(
(a.getStartDate() == null)
? ( (b.getStartDate() == null) ? 0 : -1)
: ( (b.getStartDate() == null)?1:a.getStartDate().compareTo(b.getStartDate()) )
);
Я уже проверял некоторые вопросы, как это, но все они относятся к предварительно лямбда-коду.
Являются ли лямбда-выражения java, давая мне шанс избежать двух утверждений "если"? Могу ли я выполнить задачу более чистым способом?
В Компараторе реализованы nullsFirst
nullsLast
: nullsFirst
или nullsLast
:
Comparator.comparing(YourObject::getStartDate,
Comparator.nullsFirst(Comparator.naturalOrder())
)