工作中遇到的问题:获得List对象,需要根据对象中的CreateTime来排序
分两个版本
java8:
List<CountCardDetailVo> all = new ArrayList<>();
//根据创建时间降序排序
all.sort(Comparator.comparing(CountCardDetailVo::getCreateTime).reversed());
//根据创建时间升序排序
all.sort(Comparator.comparing(CountCardDetailVo::getCreateTime));
java8属实强大,一句代码搞定。
java7:
public List<CountCardDetailVo> listSort(List<CountCardDetailVo> list) {
Collections.sort(list, new Comparator<CountCardDetailVo>() {
@Override
public int compare(CountCardDetailVo o1, CountCardDetailVo o2) {
//降序,o1,o2反过来则升序
return o2.getCreateTime().compareTo(o1.getCreateTime());
}
});
return list;
}
相比java8,Java7就显得复杂很多,而且通用性也没有java8好。