扫码关注微信公众号
回复“面试手册”,获取本站PDF版
回复“简历”,获取高质量简历模板
回复“加群”,加入程序员交流群
回复“电子书”,获取程序员类电子书
ConCurrentHashMap
中的key
和value
为null
会出现空指针异常,而HashMap
中的key
和value
值是可以为null
的。
原因如下:ConCurrentHashMap
是在多线程场景下使用的,如果ConcurrentHashMap.get(key)
的值为null
,那么无法判断到底是key
对应的value
的值为null
还是不存在对应的key
值。而在单线程场景下的HashMap
中,可以使用containsKey(key)
来判断到底是不存在这个key
还是key
对应的value
的值为null
。在多线程的情况下使用containsKey(key)
来做这个判断是存在问题的,因为在containsKey(key)
和ConcurrentHashMap.get(key)
两次调用的过程中,key
的值已经发生了改变。
本站链接:https://www.mianshi.online,如需勘误或投稿,请联系微信:lurenzhang888
点击面试手册,获取本站面试手册PDF完整版