Codename One 中 List<Date> 的其他排序方式

Other ways of sorting List<Date> in Codename One

由于代号一 not implementing 完整 Java API,是否有另一种排序日期列表的工作方式?

下面我试过了,都编译失败。

datesList.sort(Date::compareTo); // Failed

error: invalid method reference datesList.sort(Date::compareTo);

// Failed
Collections.sort(datesList, new Comparator<Date>(){
    public int compare (Date d1, Date d2){
        return d1.compareTo(d2);
    }
});

error: cannot find symbol return d1.compareTo(d2);

获取月份最后一天的问题与以下相同:

cal.getActualMaximum(Calendar.DATE);

error: cannot find symbol cal.set(Calendar.DATE, cal.getActualMaximum(Calendar.DATE));

我建议 sortig.You 的另一个解决方案可以使用像这样的连接排序:

dateList = 
    datesList
    .stream()
    .sorted( 
        Comparator.comparingLong( e -> e.getTime() ) 
    ).collect( 
        Collectors.toList() 
    );

如果您还没有流式传输,请将比较方法更改为:

Collections.sort(datesList, new Comparator<Date>(){
    public int compare (Date d1, Date d2){
        return Long.compare( d1.getTime() , d2.getTime());
    }
});