对象属性如下,期望结果是:查询出来的列表,active为true的在前,false的在后。

实现如下:
@Override
public List<TaskNotifyPolicy> findByBelongId(String belongId) {
List<TaskNotifyPolicy> taskNotifyPolicies = taskNotifyPolicyDao.findByBelongId(belongId);
if (isEmpty(taskNotifyPolicies)) {
return null;
}
Comparator<TaskNotifyPolicy> comparator = (o1, o2) -> {
if (o1.getActive() ^ o2.getActive()) {
return o1.getActive() ? -1 : 1;
} else {
return 0;
}
};
taskNotifyPolicies.sort(comparator);
return taskNotifyPolicies;
}
效果如下。生效的提醒在前,失效的在后:

本文介绍了如何使用Java对List对象根据某个Boolean属性进行排序,使得active为true的对象排在前面,active为false的对象排在后面,通过Comparator和sort方法实现。
1万+

被折叠的 条评论
为什么被折叠?



