stream Collectors.groupingBy里判断为空
时间: 2023-08-19 12:15:36 浏览: 296
深入探索Java 8的`Collectors.groupingBy()`:分组的艺术
在使用Collectors.groupingBy分组时,如果分组的字段中有值为null,会抛出空指针异常。为了解决这个问题,可以使用Optional类来处理。可以使用Optional.ofNullable方法将字段值包装成Optional对象,然后使用orElse方法指定一个默认值,以防止空指针异常的抛出。例如,在代码中可以使用以下方式来处理:
list.stream().collect(Collectors.groupingBy(x -> Optional.ofNullable(x.getOutsideClass()).orElse("0"))); [1]
或者:
userList.stream().collect(Collectors.groupingBy(x -> Optional.ofNullable(x.getSex()))); [3]
通过使用Optional类,可以在分组时处理字段值为空的情况,避免空指针异常的发生。
阅读全文