为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Cats萌萌 2023-01-05 17:03:40

由于 Codename One没有实现完整的 Java API,是否有另一种排序日期列表的工作方式?


我在下面尝试过,两者都无法编译。


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

错误:无效的方法引用 datesList.sort(Date::compareTo);


// Failed

Collections.sort(datesList, new Comparator<Date>(){

    public int compare (Date d1, Date d2){

        return d1.compareTo(d2);

    }

});

错误:找不到符号 return d1.compareTo(d2);


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


cal.getActualMaximum(Calendar.DATE);

错误:找不到符号 cal.set(Calendar.DATE, cal.getActualMaximum(Calendar.DATE));


查看完整描述

1 回答

?
心有法竹

TA贡献1629条经验 获得超5个赞

我建议 sortig 的另一个灵魂。您可以使用连接排序,如:


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());

    }

});


查看完整回答
反对 回复 2023-01-05

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信