我遇到了 NullPointerException 问题。我正在调试并且元素不为空,我在第一个 IF 中有问题,我看不出问题是什么。我认为当元素的状态为空时会发生这种情况,但我尝试修复它但它不起作用//更新:问题是当我检查状态时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 回答

摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
我强烈建议以另一种方式进行等于:
代替:
item.getCompany_status().equals("active")
做:
"active".equals(item.getCompany_status())
这样,在运行时,如果状态为空,它不会在首先检查字符串时崩溃。
它"value".equals(null)
比你不能从 null objectnull.equals("value")
调用的可能性更大。.equals()

MM们
TA贡献1886条经验 获得超2个赞
这是 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())
添加回答
举报
0/150
提交
取消