为什么HashMap的参数是Object而不是键的类型?

时间:2015-09-01 08:26:39

标签: java

我在讨论为什么这个方法

public V get(Object key) {

不是

public V get(K key) {

谢谢

1 个答案:

答案 0 :(得分:1)

密钥可能不严格属于K类型。只要遵循equals方法合同,任何Object都可以成为关键:

  

更正式地说,如果此地图包含从键k到值v的映射,使得(key==null ? k==null : key.equals(k)),则此方法返回v;否则返回null。 (最多可以有一个这样的映射。)