专栏名称: macrozheng
专注Java技术分享,解析优质开源项目。涵盖SpringBoot、SpringCloud、Docker、K8S等实用技术,作者Github开源项目mall(50K+Star)。
今天看啥  ›  专栏  ›  macrozheng

高德面试:为什么Map不能插入null?

macrozheng  · 公众号  ·  · 2024-06-27 10:32
    

文章预览

mall学习教程官网: macrozheng.com 在 Java 中,Map 是属于 java.util 包下的一个接口(interface),所以说“为什么 Map 不能插入 null?”这个问题本身问的不严谨。Map 部分类关系图如下: 所以,这里面试官其实想问的是: 为什么 ConcurrentHashMap 不能插入 null? 1.HashMap和ConcurrentHashMap的区别 HashMap 和 ConcurrentHashMap 在对待 null 的态度上是不同的,在 Java 中,HashMap 是允许 key 和 value 值都为 null 的,如下代码所示: HashMap  map =  new  HashMap(); map.put( null ,  null ); if  (map.containsKey( null )) {     System.out.println( "存在 null" ); }  else  {     System.out.println( "不存在 null" ); } 以上程序的执行结果如下: 存在 null 从上述结果可以看出,HashMap 是允许  key 和 value 值都为 null 的。 但 ConcurrentHashMap 就不同了,它不但 key 不能为 null,而且 value 也不能为 null,如以下代码所示: C ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览