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

标签 java codenameone

由于代号一 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 提供另一种解决方案。您可以像这样使用连接排序:

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

关于java - Codename One 中 List<Date> 的其他排序方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56455919/

相关文章:

java - 将对象传递给数组列表的区别(初始化一次和多次)

java - 当我在布局之间滑动时如何打开音频文件?

java - 在 Pixmap 上使用 ‘drawPixel’ 时的透明度?

paypal - 如何在 codenameone 中使用 paypal 库?

android - 代号一 google-services.json 和 build.gradle 用法

java - 构建 Codename One 应用程序时的跨平台 Google+ 登录 API key

lwuit - 将应用程序从 LWUIT 移植到 CodenameOne

java - 签名 Applet 和服务器端 Controller 之间的通信

java - 使用 InAppBrowser 和微调器加载页面后无法输入输入字段

codenameone - 新 Gui 不接受在命令上放置 "Right"