Abd*_*dar 2 java sorting datetime jodatime java-time
如何排序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);
Run Code Online (Sandbox Code Playgroud)
经过测试,我认为它根据日期排序,但时间部分(HH:MM:SS)被忽略了吗?
Ada*_*lik 18
JodaTime和JDK 8 LocalDateTime类都实现了Comparable接口,因此您可以使用它们的自然顺序对它们进行排序.做就是了
Collections.sort(data);
Run Code Online (Sandbox Code Playgroud)
小智 6
有两种方法可以做到。如果日期属性在嵌套对象下,则使用比较器如下
public int compare(Object obj1, Object obj2) {
return obj2.getInnerObj().getLocalDateTime().compareTo(obj1.getInnerObj().getLocalDateTime()); }
Run Code Online (Sandbox Code Playgroud)
如果对象的属性中的日期属性则
List<Object> sortedList = objectList.stream()
.sorted(Comparator.comparing(Object :: getLocalDateTime).reversed())
.collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)