w狸猫 2016-08-18 16:02 采纳率: 0%
浏览 14215
已采纳

hashmap为什么要允许key和value为空 但是hashtable却不允许呢?

hashmap为什么要允许key和value为空 但是hashtable却不允许呢?源码说这是特殊的map,难道它除了线程安全,还有别的吗?

  • 写回答

7条回答 默认 最新

  • FFZ2009 2016-08-19 02:42
    关注

    HashTable是Java中的遗留类,现在不怎么用了,这里HashMap vs HashTable有个解释。也许HashTable类的设计者当时认为null作为key 和value 是没有什么用的。
    HashMap是之后的版本引进的类,它的接口Map表达的意义更为广泛,也许HashMap的设计者认为null作为key和value是有实际意义的,所以才允许为null.
    当然实际项目中,真的是有value为null的情况的。key为null的情况比较少见,但不代表没有。HashMap允许null为key和value应当是类的设计者思考让这个类更有用的设计吧。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?