Java 8 字符串日期排序

时间:2023-03-08 23:52:09
Java 8 字符串日期排序
public class ObjectDto implements Serializable {
private static final long serialVersionUID = 8589835559483231840L;
private String date;
  //get set..
}
public static void main(String[] args){
     List<ObjectDto> list = new ArrayList()<>;
     ObjectDto on1 = new ObjectDto();
     on1.setDate("2018-05-17"); ObjectDto on2 = new ObjectDto();
on2.seDate("2018-05-16"); ObjectDto on3 = new ObjectDto();
on3.setDate("2018-05-18"); ObjectDto on4 = new ObjectDto();
on4.setDate("2018-05-15");
    
    list.add(on1);
    list.add(on2);
    list.add(on3);
    list.add(on4);   //升序
  List<ObjectDto> collect = list.stream().sorted(new Comparator<ObjectDto>() {
  @Override
   public int compare(ObjectDto o1, ObjectDto o2) {
   try {
   Date d1 = DateUtil.parseTime(o1.getDate(), "yyyy-MM-dd");
   Date d2 = DateUtil.parseTime(o2.getDate(), "yyyy-MM-dd");
  
   return d1.compareTo(d2);
   } catch (ParseException e) {
   e.printStackTrace();
  }
  return 0;
  }
  }).collect(Collectors.toList());
}