【发布时间】:2021-10-02 15:06:00
【问题描述】:
我有一个这样的哈希图:
private HashMap<String, String> myMap = new HashMap<>();
所以,我在我的代码中设置了一个键。在我的情况下,键的值可能会改变:如果条件为真,则获取某个值,如果不是,则获取其他值:
if (condition.isTrue) myMap.put("keyName", "stringValue");
最后,我想将这个映射中的一个键的值与一个字符串进行比较:
if (myMap.get("keyName").equals("stringToCompare")) {
[... do something ...]
}
我的问题是:Java返回给我一条警告信息:
方法调用 'equals' 可能会产生 'NullPointerException'
当我运行程序时,它不能正常工作。
【问题讨论】:
-
它的意思是,由于值在 if 语句中,它可能并不总是具有键的值。因此可能出现 NullPointerException。你能分享一下“不能正常工作”的确切含义吗?
-
"doesn't work as it should" 只是用词不当,代码根本不起作用
-
通过反转操作数来避免 NullPointerException -
if ("stringToCompare".equals(myMap.get("keyName"))) {
标签: java string nullpointerexception hashmap