我有一个hashmap,我需要检查某个值是否作为hashmap中的键存在。问题是我第一次需要执行检查,hashmap可以为空或null。如果在这种情况下hashmap为null或为空,或者我是否应该添加额外的空指针检查,.containsKey()是否会执行返回false的工作?
Map<String, String> groupNameMap = new LinkedHashMap<String, String>();
if(abc!= null && !groupNameMap.containsKey(abc)){
usersGroupName = getGroupName(abc,xyz,oci);
}
这段代码会解决问题吗? groupNameMap可以为空或null。
答案 0 :(得分:3)
Map<String, String> groupNameMap = new LinkedHashMap<String, String>();
由于您在调用containsKey()之前创建了Map的实例,因此不会发生NPE。
您的代码 groupNameMap
不能为空。
答案 1 :(得分:3)
如果groupNameMap
可以为null,请检查它。
并且,您无需检查密钥abc
是否为null
,null
是Map
中的有效密钥