【发布时间】:2015-03-17 16:06:38
【问题描述】:
所以我正在处理一个日期列表,其中一些值是“”,即空值。我使用了How to handle nulls when using Java collection sort的答案
public int compare(MyBean o1, MyBean o2) {
if (o1.getDate() == null) {
return (o2.getDate() == null) ? 0 : -1;
}
if (o2.getDate() == null) {
return 1;
}
return o2.getDate().compareTo(o1.getDate());
}
以升序对列表进行排序,将空值放在首位。
我想要的是按升序先有空值,然后再按升序排列值,就像上面的代码一样。 Then when descending is selected to literally flip the list. IE 列表中的第一个值按降序排列,然后是所有空值。
在按升序对列表进行排序后,我尝试了以下操作Collections.reverseOrder();
这首先保留空值,然后按降序对日期进行排序。
我也试过Collections.reverse(List)。这会将空值放在列表的末尾,但保持日期按升序排列。
【问题讨论】: