Java 按降序排列日期

Java 按降序排列日期,java,android,Java,Android,我想对具有降序日期的对象进行排序。这是我在片段中使用的代码- int pos = adapter.contains(status.id); if (pos == -1) { myobj = new MyAdapter.Mymyobj(); myobj.status = status; adapter.addItem(myobj); } else { myobj = adapter.getItem(pos); myobj.status = statu

我想对具有降序日期的对象进行排序。这是我在片段中使用的代码-

int pos = adapter.contains(status.id);    
if (pos == -1) {
    myobj = new MyAdapter.Mymyobj();
    myobj.status = status;
    adapter.addItem(myobj);
} else {
    myobj = adapter.getItem(pos);
    myobj.status = status;
}
convertStringToDate(myobj.status.getTimeInString());
sortDates.add(convertedDate);
Comparator<Date> cmp = Collections.reverseOrder(null);
Collections.sort(sortDates, cmp);

adapter.notifyDataSetChanged();

private Date convertStringToDate(final String dateString) {
    SimpleDateFormat dateFormat = new SimpleDateFormat("dd.MM. HH:mm");
    try {
        convertedDate = dateFormat.parse(dateString);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return convertedDate;
}
上面的代码不起作用..实际上什么都没有发生。我希望列表按降序排列。 我应该在适配器中也做些什么吗?

看看这个。它向您展示了如何使用Collections.reverseOrder比较器。基本上,你说的不对。你应使用:

Collections.sortsortDates、Collections.reverseOrder


请注意,我并没有在这里将null作为参数传递。

给定的代码要么不完整,要么存在编译错误,无法回答

但是,首先,我必须问一下,当标准Date类已经实现Comparable时,为什么您认为有必要将日期转换为字符串来对其进行排序

另一方面,您的convertDateToString方法捕获DateParseException并将其打印到用户看不到的地方,然后继续执行,就好像什么都没发生过一样,这可能会导致代码中出现NPE