从`hashmap`避免`toString`的'NullPointerExceptions`

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (6)

我试图避免NullPointerException尝试与a中的字符串进行比较HashMap

HashMap是明确界定,但有可能会或可能不会在相应的条目HashMap,所以我认为这可能是在我的NPE和相关的Android Studio中的警告可能会来自哪里。

我的代码是:

if (source_region.equals("it") && region_ids.containsKey("it") && !selected_id.equals(region_ids.get("it").toString())) {
    // Do stuff for mismatched region
}

哪里region_idsHashMap

上述前我还检查region_ids != nullsource_region != nullselected_id != null在周围的if声明。

我做得足以阻止NullPointerExceptions吗?

如果是这样,为什么Android Studio仍在IDE中发出警告?

提问于
用户回答回答于

如果使用常量向左反转条件,则会自动检查它是否为NULL。像这样:

if ("it".equals(source_region) && 
region_ids.containsKey("it") && 
!(region_ids.get("it").toString().equals(selected_id))) {
    // Do stuff for mismatched region
}

扫码关注云+社区

领取腾讯云代金券