Collectors.toMap空指针异常

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Collectors.toMap空指针异常相关的知识,希望对你有一定的参考价值。

参考技术A 方案一:

方案二:

jdk官网bug单

https://bugs.openjdk.java.net/browse/JDK-8040892

java8的stream中Collectors.toMap空指针问题

在工作中遇到了一个ListMap的时候的一个NullPointException.

情形很简单,问题出在Collectors.toMap,当key值冲突的时候理论上会按照我们的代码来替换value,但是这里有个小坑

list.stream().collect(Collectors.toMap(it -> it.getCategoryId(), it -> it.getCategoryImage() ,(k1,k2) -> k2));

可以看到mapkey值冲突merge的时候会要求新的value不能为null.
这意味着,只要传入了(k1,k2) -> k2处理key冲突的function,那么当value里存在Null的时候必然会抛NullPointException

以上是关于Collectors.toMap空指针异常的主要内容,如果未能解决你的问题,请参考以下文章

具有空条目值的 Collectors.toMap 中的 NullPointerException

java中String browser = request.getHeader("user-agent")报空指针异怎么解决

java中的空指针异常怎么解决

jsp 505空指针异常

SpringBoot配置拦截器空指针异常

java hashmap空指针异常