javaweb程序运行到下面一行,就报错空指针错误,但是并没有空指针呀?

for(ZqbpContract c:p2.getList())
{ 
if(!c.getCreateUser().equals("")&&c.getCreateUser()!=null){
            c.setCreateUser(Integer.parseInt(c.getContract_money())-Integer.parseInt(c.getCreateUser())+"");
        }else{
            c.setCreateUser("未收款");
        }
    }

《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《《
if(!c.getCreateUser().equals("")&&c.getCreateUser()!=null)这一句判断报空指针错误!!

阅读 4.8k
6 个回答

你这是典型的逻辑错误,执行顺序是从左到右,得先判断c.getCreateUser()!=null这个成立,所以改成这样就好了:

if(c.getCreateUser()!=null&&!c.getCreateUser().equals(""))

改成 if(null!=c.getCreateUser()&&!c.getCreateUser().equals("")) 试试

1.确定c对象是否为空
2.确定c.getCreateUser()对象是否为空

新手上路,请多包涵

你把 c.getCreateUser().equals("") 改成 ("").equals(c.getCreateUser())
并确保c不为空

把空判断放前面

`
if(c.getCreateUser()){

console.log("这样就可以了");

}

`

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题