我创建了一个hashmap,它包含一个键的字符串和一个对象作为值。但是,当我尝试检索某些值时,我得到一个null结果。
// This returns all the keys and their values.
for (String key : DevicesUsed.devicesUsedMap.keySet()) {
if(DevicesUsed.devicesUsedMap.containsKey(key)) {
System.out.println(key + " exists");
System.out.println(key + "\t" + DevicesUsed.devicesUsedMap.get(key));
} else {
System.out.println("Key does not exist.");
}
}
// This only works for some of the keys, that worked in the above code.
System.out.println(DevicesUsed.devicesUsedMap.get("WHITEALL")); // Works.
System.out.println(DevicesUsed.devicesUsedMap.get("REDCOVE")); // Returns null.
screen shot of the console output
为什么有些键存在于一个块中而在另一个块中不存在,这很困惑。
答案 0 :(得分:3)
在屏幕截图中,'WHITEALL exist'
包含一个空格,但'REDCOVE exist'
- 两个。
您似乎将'REDCOVE '
作为密钥而不是'REDCOVE'
。
答案 1 :(得分:0)
从你的截图中,REDCOVE最后肯定有一个空间。尝试使用System.out.println(DevicesUsed.devicesUsedMap.get("REDCOVE "));