如何使用Java8最小化这个比较器方法

如何使用Java8最小化这个比较器方法,java,comparator,Java,Comparator,如何使用Java8最小化这个比较器方法 实际上,我传递了一个工作日列表,其中包含了我需要按升序和降序排序的日期列表 我需要按升序排列日期 private List<WorkingDays> workingDaysDateSortDesc(List<WorkingDays> workingDays) { Collections.sort(workingDays.get(0).getDays(), new Comparator<Days>() {

如何使用Java8最小化这个比较器方法 实际上,我传递了一个工作日列表,其中包含了我需要按升序和降序排序的日期列表 我需要按升序排列日期

private List<WorkingDays> workingDaysDateSortDesc(List<WorkingDays> workingDays) {
    Collections.sort(workingDays.get(0).getDays(), new Comparator<Days>() {
        @Override
        public int compare(Days o1, Days o2) {
            if (o1.getDate().get$date() == null || o2.getDate().get$date() == null)
                return 0;
            return o2.getDate().get$date().compareTo(o1.getDate().get$date());
        }
    });
    return workingDays;
}
private List workingDaysDateSortDesc(列表工作日){
Collections.sort(workingDays.get(0).getDays(),new Comparator()){
@凌驾
公共整数比较(第o1天、第o2天){
如果(o1.getDate().get$date()=null | | o2.getDate().get$date()=null)
返回0;
返回o2.getDate().get$date().compareTo(o1.getDate().get$date());
}
});
返回工作日;
}
只需使用lambda:

private List<WorkingDays> workingDaysDateSortDesc(List<WorkingDays> workingDays) {
    Collections.sort(workingDays.get(0).getDays(), (Comparator<Days>) (o1, o2) -> {
        if (o1.getDate().get$date() == null || o2.getDate().get$date() == null)
            return 0;
        return o2.getDate().get$date().compareTo(o1.getDate().get$date());
    });
    return workingDays;
}
private List workingDaysDateSortDesc(列表工作日){
Collections.sort(workingDays.get(0.getDays(),(Comparator)(o1,o2)->{
如果(o1.getDate().get$date()=null | | o2.getDate().get$date()=null)
返回0;
返回o2.getDate().get$date().compareTo(o1.getDate().get$date());
});
返回工作日;
}

请使用流式API,它将为您带来优势,使代码更干净、更可读。关于
null
值,您想要什么结果尚不清楚。你能发布一个输入/输出示例吗?“最小化”是什么意思?@Tunaki我需要以顺次排列的日期。@Zin Min你能帮我以顺次排列的方式写这段代码吗日期以升序排列不要告诉任何关于
null
值的情况。您当前的比较器表示any
null
date等于any日期,
null
与否。