为何Collections.EmptyMap.computeIfPresent()抛异常而非返回null?
关于EmptyMap.computeIfPresent()抛出异常的疑问
EmptyMap的源代码定义在java.util.Collections类中。- 根据
Map.computeIfPresent()的文档说明和默认实现,该方法的预期行为是:如果指定键存在,返回关联的新值;如果键不存在,则返回null。 - 既然
EmptyMap本身不包含任何元素,按逻辑EmptyMap.computeIfPresent()无论传入什么键,都应该返回null,但实际的实现却会抛出异常。 - 我搜索过
EmptyMap.computeIfPresent()相关内容,找到的都是介绍该类或computeIfPresent()方法的基础资料,没有针对这个矛盾情况的原因说明。
内容的提问来源于stack exchange,提问作者Trần Hoàn
相关产品推荐
相关产品推荐

