ConcurrentHashMap 为什么不允许key和value为null
在Java中,ConcurrentHashMap
是一种线程安全的哈希表实现,广泛用于并发编程场景中。与传统的HashMap
不同,ConcurrentHashMap
不允许null
键或null
值。这种设计并非随意而为,而是经过深思熟虑的决定。
1. 并发操作中的歧义问题
1.1 null
键的歧义
在ConcurrentHashMap
中,如果允许null
键,当我们调用map.get(null)
时,返回null
意味着什么?