HashMap HashTable ConcurrentHashMap key和value是否可以null的问题 源码分析
来源:互联网 发布:市场调研数据分析报告 编辑:程序博客网 时间:2024/05/15 11:54
我们都知道结论是:
HashMap可以允许插入null key和null value
HashTable和ConcurrentHashMap都不可以插入null key和null value
具体原因可以看下面的源码:
首先是HashMap的put源码:
null key的情况,调用putForNullKey方法,之前我在博客上已经写过关于HashMap插入null key后的具体执行过程和源码分析了。
下面是HashTable的源码:
源码中判断了null value的情况,null value就抛出空指针异常异常
但是我们并没有看到判断null key然后抛出异常的语句,那么继续看看hash方法的源码就明白了:
k.hashCode(),当k出入为null key 就会报错 空指针异常。
下面是ConcurrentHashMap的源码:
null value和null key 会报错的问题和HashTable原因是一样的,hash方法:
阅读全文
0 0
- HashMap HashTable ConcurrentHashMap key和value是否可以null的问题 源码分析
- HashMap HashTable ConcurrentHashMap key和value是否可以null的问题 源码分析
- HashMap、HashTable的key和value是否可为null
- HashMap、HashTable的key和value是否可为null
- 看看源码怎么处理,Java中Hashtable,Hashmap,ConcurrentHashMap,Key Value为null时
- HashMap、HashTable的key和value是否可为null 或者 ""
- Hashmap和hashtable三大区别(从源码角度分析为什么map可以存放一个key为null,多个值为null)的特点
- Hashtable/HashMap与key/value为null的关系
- Hashtable/HashMap与key/value为null的关系
- HashMap和HashTable,HashMap中key和value的原理
- HashMap和HashTable,HashMap中key和value的原理
- HashMap和HashTable,HashMap中key和value的原理
- 为什么Hashtable ConcurrentHashmap不支持key或者value为null
- hashtable,concurrenthashmap为什么键和值不能为null,而hashmap可以?
- hashmap、hashtable、ConCurrentHashMap分析
- 笔记001--Hashtable/HashMap与key/value为null的关系
- TreeMap、HashMap、HashTable的键是否能为""和Null的问题
- 关于TreeMap、HashMap、HashTable的键是否能为""和Null的问题
- php学习笔记
- LeetCode 83. Remove Duplicates from Sorted List
- 白天学语数外计算机 晚上才打游戏
- 虚拟机以及VMware Tools的安装
- 一脸懵逼加从入门到绝望学习hadoop之Caused by: java.net.UnknownHostException: master报错
- HashMap HashTable ConcurrentHashMap key和value是否可以null的问题 源码分析
- 堆”,"栈","堆栈","队列",它们的区别?
- C# 用正则表达式替换字符串中所有特殊字符
- 加载外部图片的三种方式
- navicat for mysql 传输数据失败
- Android学习笔记2---组件
- jetty的安装
- 一脸懵逼加从入门到绝望学习hadoop之 org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlE
- net.sf.json.JSONObject java.lang.ClassNotFoundException: org.apache.commons.lang.exception.Nestable