Collectors.toMap空指针异常
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Collectors.toMap空指针异常相关的知识,希望对你有一定的参考价值。
参考技术A 方案一:方案二:
jdk官网bug单
https://bugs.openjdk.java.net/browse/JDK-8040892
java8的stream中Collectors.toMap空指针问题
在工作中遇到了一个List
转Map
的时候的一个NullPointException
.
情形很简单,问题出在Collectors.toMap
,当key值冲突的时候理论上会按照我们的代码来替换value
,但是这里有个小坑
list.stream().collect(Collectors.toMap(it -> it.getCategoryId(), it -> it.getCategoryImage() ,(k1,k2) -> k2));
可以看到map
在key
值冲突merge
的时候会要求新的value
不能为null
.
这意味着,只要传入了(k1,k2) -> k2
处理key
冲突的function
,那么当value
里存在Null
的时候必然会抛NullPointException
以上是关于Collectors.toMap空指针异常的主要内容,如果未能解决你的问题,请参考以下文章
具有空条目值的 Collectors.toMap 中的 NullPointerException
java中String browser = request.getHeader("user-agent")报空指针异怎么解决