HashMap get赋予null作为键的String

时间:2014-04-16 13:52:18

标签: java string hashmap

我遇到了来自HashMap的get(Object key)方法的问题。

hm.put("597068",o1);
hm.put("ws-5896",o2);

当我尝试以下代码行时,它会提供正确的对象:

hm.get("597068");

但是当我试图获得Ws-5896时,它会给出Null。为什么呢?

hm.get("ws-5896");

更新 HashMap声明:

private static HashMap<String,Ort> hm = new HashMap<String,Ort>();

2 个答案:

答案 0 :(得分:1)

不幸的是,HashMap在执行HashMap.get()时不会区分空值和条目。

  

返回指定键映射到的值,如果是,则返回null   此地图不包含密钥的映射。

您是否使用HashMap.containsKey()检查了密钥是否包含在地图中?

  

返回值null不一定表示地图   不包含密钥的映射;它也有可能是地图   显式地将键映射为null。可以使用containsKey操作   区分这两种情况。

答案 1 :(得分:-1)

将hm.keySet()打印到屏幕上,您将看到代码失败的位置。我打赌你正在寻找“Ws-5896”键,HashMap 区分大小写