面试题-Map能不能key值为null

it2024-11-25  28

测试 HashMap

 

从结果上看,HashMap可以key值为null,并且可以取出

 

看下源码,Hashmap 取值的时候,map.get(key),key是进行了转换的,如图

 

这里直接判断了ket == null? 等于的话直接为零,显然,这里相当于找了key = 0

测试TreeMap

显然,直接空指针异常了,那么我们看下原码,

 

源码上看,这里为空,那么取值的时候,直接抛出异常处理,所以结果一目了然,其实这里我想说,没注意过这啥,我特么怎么知道了

最新回复(0)