为什么HashTable是不允许Key为null

in 网站建设
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

3.jpg

微信公众号:爱问CTO
专业编程问答社区
www.askcto.com

从 JDK 文档中,我们可以看到当时作者的想法。

This class implements a hash table, which maps keys to values. Any non-null object can be used as a key or as a value

To successfully store and retrieve objects from a hashtable, the objects used as keys must implement the hashCode method and the equals method

可以看出,当时不允许是因为希望每个 key 都会实现 hashCode 和 equals 方法。而 null 显然没有。由于null不是对象,因此不能在其上调用.equals()或.hashCode(),因此Hashtable无法将其计算哈希值以用作键。

关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9
扫一扫关注公众号添加购物返利助手,领红包
Comments are closed.

推荐使用阿里云服务器

超多优惠券

服务器最低一折,一年不到100!

朕已阅去看看