首页 新闻 会员 周边

stream Collectors.toMap的value为null

0
[待解决问题]

集合数据分组同时转map,Collectors.toMap的value为null,报空指针异常
Map<String, Map<String, String>> ybMap = ybs.stream().collect(Collectors.groupingBy(SsjdYb::getG0pspidProj,Collectors.toMap(SsjdYb::getSbqj, SsjdYb::getJdsm)));
求方案!

風蘤雪月的主页 風蘤雪月 | 菜鸟二级 | 园豆:202
提问于:2021-12-17 16:14
< >
分享
所有回答(1)
0

这个算是java8版本的bug,java9版本之后已经修复。推荐几种解决办法:
1、如果是null,就设置成一个特定值,然后再处理
2、使用collect(Supplier<R> supplier, BiConsumer<R, ? super T> accumulator, BiConsumer<R, R> combiner)去收集,这个可允许null值
3、使用Optional类封装,收集成值类型为Optional的Map,然后处理

编程小大白 | 园豆:530 (小虾三级) | 2021-12-20 15:25

例子:

支持(1) 反对(0) 编程小大白 | 园豆:530 (小虾三级) | 2021-12-20 15:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册