Java HashMap空值问题
两者的结果有什么不同Java HashMap空值问题,java,Java,两者的结果有什么不同 当我的键为空值时 当密钥本身不存在时 在上述两种情况下,结果均为空。那么,我如何确定我的关键价值呢 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 m
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
此外,如果您迭代
映射的键(使用keySet()
),1
将在那里,而2
将不在那里。如果没有值映射到键,Hashmap将返回null。因此,这也可以通过您的代码来解决:
if( map.get(1) != null ){
//
}
检查该值是否为空,以避免打印空值
伪代码:
//For inputting
if(object != null){
map.put(1, object);
}
//For getting the value
if(value != null){
map.get(value)
}
这个建议的可能重复对OP没有帮助。