这两个结果有什么区别?
当我使用一个空的键值对时
当键本身不存在时
在上述两种情况下,结果都是null。那么我该如何识别我的键值呢?
Map map = new HashMap();
map.put(1,null);
System.out.println(map.get(1));
System.out.println(map.get(2));
答案:
null
null
这两个结果有什么区别?
当我使用一个空的键值对时
当键本身不存在时
在上述两种情况下,结果都是null。那么我该如何识别我的键值呢?
Map map = new HashMap();
map.put(1,null);
System.out.println(map.get(1));
System.out.println(map.get(2));
答案:
null
null
get
方法对于 null
值和不存在的键返回相同的结果,而 containsKey
则不同:
map.containsKey(1)
将返回 true
。
map.containsKey(2)
将返回 false
。
此外,如果您遍历 Map
的键(使用 keySet()
),则会出现 1
而没有出现 2
。
检查值是否为空,以避免打印空值。
伪代码:
//For inputting
if(object != null){
map.put(1, object);
}
//For getting the value
if(value != null){
map.get(value)
}