2022年6月29日 作者 zeroheart

stream min 使用方法记录


public static void main(String[] args) {
ArrayList<SaBillVO> saBillVOS = new ArrayList<SaBillVO>();
SaBillVO sb = new SaBillVO();
SaBillVO sb1 = new SaBillVO();
SaBillVO sb2 = new SaBillVO();
SaBillVO sb3 = new SaBillVO();

BillVO b = new BillVO();
b.setReplyTime(LocalDateTime.now());
BillVO b1 = new BillVO();
b1.setReplyTime(LocalDateTime.now().plusDays(1));
BillVO b2 = new BillVO();
b2.setReplyTime(LocalDateTime.now().plusDays(2));
BillVO b3 = new BillVO();

sb.setBillVO(b);
sb1.setBillVO(b1);
sb2.setBillVO(b2);
sb3.setBillVO(b3);

saBillVOS.add(sb);
saBillVOS.add(sb1);
saBillVOS.add(sb2);
saBillVOS.add(sb3);
SaBillVO min =
saBillVOS.stream()
.min(Comparator.comparing(
sa -> sa.getBillVO().getReplyTime() != null ? sa.getBillVO().getReplyTime() : LocalDateTime.MAX))
.get();
}

比较值为空的话会报空指针