Java中的NullPointerException问题

时间:2019-04-16 09:31:55

标签: java json nullpointerexception

我遇到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();
}
}
}

2 个答案:

答案 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())