众所周知,HashMap 的 value 是可以存 NULL 值的。但是在Stream 的一些操作中会有NPE的问题:
Map<Long, LocalDate> demandMap = demandInfo.stream().collect(Collectors.toMap(e -> e.getId(), e -> e.getTime, (x, y) -> y));
当 demandInfo 集合中的 对象 的 time 字段 为 NULL 时会抛出NPE异常。
这算是Java8的一个bug,Java9之后的版本已修复此问题。