我遇到NullPointerException问题。
我正在调试,并且元素不为null,我在第一个IF中遇到问题,看不到问题是什么。我以为这是在元素的状态为null时发生的,但是我试图对其进行修复,但它不起作用
//更新:问题是当我检查状态时
for (Items item : master.getItems()) {
try {
if (item.getCompany_status().equals("active") || item.getCompany_status().equals("open")) {
if (item.getAddress_snippet() == null) {
cont2++;
Company c = new Company(item.getTitle(), "");
arrayCompany.add(c);
}else {
cont2++;
Company c = new Company(item.getTitle(), item.getAddress_snippet());
arrayCompany.add(c);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
答案 0 :(得分:1)
我强烈建议通过其他方式使等式:
代替:
item.getCompany_status().equals("active")
要做:
"active".equals(item.getCompany_status())
这样,在运行时,如果状态为null,则在它首先检查字符串时不会崩溃。
拥有"value".equals(null)
比null.equals("value")
的可能性更大,因为您无法从空对象调用.equals()
。
答案 1 :(得分:0)
这是Strongly类型,因此tem.getCompany_status()
为null,它给出了空指针异常,
item.getCompany_status().equals("active") ||
item.getCompany_status().equals("open")
因此,使用
"active".equals(item.getCompany_status()) ||
"open".equals(item.getCompany_status())