【发布时间】:2019-07-02 12:08:26
【问题描述】:
我有一个类,我想根据该类中另一个子对象中的日期列表进行排序。
型号:
Student {
String name;
List<Action> actions;
}
Action {
String type;
Date lastActionDate;
}
所以现在我有我想要排序的列表,以便执行最新学生的动作排在第一位。
我试过了:
public Date getLatestActionDate() {
return actions.stream().map(a -> a.lastActionDate).min(Date::compareTo).get();
}
@Override
public int compareTo(Student o) {
return getLatestActionDate().compareTo(o.getLatestActionDate());
}
但无济于事。期待精彩的答案。
我希望学生列表排序。
【问题讨论】:
-
备案:请考虑添加足够的“示例”数据和上下文代码以获得真正的minimal reproducible example。足以显示问题的代码,但人们可以快速下载并运行。
-
输出是什么?
-
但第一个值始终是不应该出现在此处的值,其余结果已排序。因此,问题仍然存在。
标签: java sorting java-stream comparator