无法添加逻辑以在 Java/android 中的现有比较器中使用日期进行排序

我想添加一个条件,该条件也根据 item.startReading 的 DATE(降序)进行排序。 item.startReadingvalue 具有字符串格式的日期值2018-10-20T12:05:41。但我不知道如何将此逻辑添加到当前代码中。之前,用户点击该杂志或书的项目,价值item.startReading就是null。. 当用户单击其中一项时,我希望最新的项item.startReading像下面一样进入顶部。抱歉我的解释,但自从我开始学习 java/android 以来,我真的需要知道该怎么做。一些例子或提示会很可爱。我很想听听你的意见。

  1. 杂志 (2018-10-21T13:06:41) 最新日期项目去顶部

  2. 杂志 (2018-10-20T12:05:41)

  3. 图书

  4. 图书

目前,我有以下比较器代码可以进行如下排序。

(使用比较器之前)

  1. 杂志

  2. 图书

  3. 杂志

  4. 图书

(在使用比较器之后)用类型重新编码,最后用 ID ↓

  1. 图书

  2. 图书

  3. 杂志

  4. 杂志

我的比较器代码:

public Comparator<MyItem> myComparator = (item1, item2) -> {

    //How to add the desc date order with Dates?


    if (item1.typeInt == MyItemModel.TYPE_BOOK && item2.typeInt !=  MyItemModel.TYPE_BOOK) {

        return -1;

    } else if (item1.type !=  MyItemModel.TYPE_BOOK && item2.type ==  MyItemModel.TYPE_BOOK) {

        return 1;

    } else if (item1.type == MyItemModel.TYPE_MAGAZINE && item2.type != MyItemModel.TYPE_MAGAZINE) {

        return -1;

    } else if (item1.type != MyItemModel.TYPE_MAGAZINE && item2.type == MyItemModel.TYPE_MAGAZINE) {

        return 1;

    } 

    return (Integer.compare((int) item1.id, (int) item2.id)) * -1;

};


紫衣仙女
浏览 116回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java