我有这样一个hashmap:
private HashMap<String, String> myMap = new HashMap<>();
所以,我在代码中设置了一个键。在我的例子中,key的值可能会改变:如果一个条件为true,则获取某个值,如果不是,则获取另一个值:
if (condition.isTrue) myMap.put("keyName", "stringValue");
最后,我想将此Map中键的值与字符串进行比较:
if (myMap.get("keyName").equals("stringToCompare")) {
[... do something ...]
}
我的问题是:java返回给我一个警告消息:
方法调用“equals”可能会产生“nullpointerexception”
当我运行程序时,它不能正常工作。
3条答案
按热度按时间pgvzfuti1#
这条信息说明了一切:
也就是说,当你申请的时候
equals
在一个可能是字符串的对象上,有可能是null
.当您使用键从Map中获取值时
keyName
,则不保证equals
方法map.get(key)
我会给你这个东西。如果Map不包含该键的任何值,它将返回null
因此NullPointerException
警告我希望你得到了答案。但是对于没有像你所说的那样工作的程序,请提供一个最小的可重复的示例,指出预期的内容和你得到的内容。然后我也会更新这部分的答案。
nafvub8i2#
您可以在这里使用多种方法
jobtbby33#
用这个。