微信公众号:路人zhang
网站救助计划

1.为阅读体验,本站无任何广告,也无任何盈利方法,站长一直在用爱发电,现濒临倒闭,希望有能力的同学能帮忙分担服务器成本


2.捐助10元及以上同学,可添加站长微信lurenzhang888,备注捐助网站倒闭后可联系站长领取本站pdf内容


3.若网站能存活下来,后续将会持续更新内容

当前位置: Java > Java并发高频面试题 > 56.ConCurrentHashMap的key,value是否可以为null?为什么?HashMap中的key、value是否可以为null?

ConCurrentHashMap中的keyvaluenull会出现空指针异常,而HashMap中的keyvalue值是可以为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完整版