.containsKey()方法是否返回空指针异常?

时间:2014-01-15 05:03:41

标签: java hashmap

我有一个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。

2 个答案:

答案 0 :(得分:3)

Map<String, String> groupNameMap = new LinkedHashMap<String, String>();

由于您在调用containsKey()之前创建了Map的实例,因此不会发生NPE。

您的代码

groupNameMap不能为空。

答案 1 :(得分:3)

如果groupNameMap可以为null,请检查它。

并且,您无需检查密钥abc是否为nullnullMap中的有效密钥