如何对LocalDateTime对象进行排序?
我尝试了以下几种方法:
Comparator<Data> comparator = new Comparator<Data>() {
@Override
public int compare(final data o1, final data o2) {
if (o1.getDate()== null || o2.getDate() == null)
return 0;
return o1.getDate().compareTo(o2.getDate());
}
};
Collections.sort(comments, comparator);经过测试,我认为它是根据日期排序的,但是时间部分(HH:MM:SS)被忽略了吗?
发布于 2015-09-17 16:14:28
JodaTime和JDK8 LocalDateTime类都实现了Comparable接口,因此您可以使用它们的自然顺序对它们进行排序。只管去做
Collections.sort(data);发布于 2020-11-17 07:00:35
有两种方法可以做到这点。如果date属性位于嵌套对象下,则使用比较器,如下所示
public int compare(Object obj1, Object obj2) {
return obj2.getInnerObj().getLocalDateTime().compareTo(obj1.getInnerObj().getLocalDateTime()); }如果date属性位于object的属性,则
List<Object> sortedList = objectList.stream()
.sorted(Comparator.comparing(Object :: getLocalDateTime).reversed())
.collect(Collectors.toList());发布于 2015-09-17 16:17:39
查看isAfter()和isBefore()。单击文档的。也许可以试着缩进一下,我不太确定if子句里面是什么。甚至可能尝试在一行代码之前使用花括号{},但这是个人喜好问题。
https://stackoverflow.com/questions/32625407
复制相似问题