ssh可以打印出数据,但是还是报nullpoint,帮忙看看什么问题

ssh可以打印出数据,但是还是报nullpoint,帮忙看看什么问题

问题描述:

public String addgdbl(){
System.out.println("----->+进来了么?");
maintlist=gdblBiz.getMaintlist(maintlist.getListcode());
material=gdblBiz.getMaterial(material.getMalcode());
if(material==null){
System.out.println("material是空的");
}
else{System.out.println("materialb不是空的");}//可以打印
System.out.println("----->+进来了么?");//可以打印
System.out.println(material.getMalcode());//可以打印
System.out.println(material.getMaldesc());//可以打印
System.out.println(material.getHousestock());//可以打印
System.out.println(material);//打印出com.netbank.entity1.Material@3f9a
gdbl.setMaintlist(maintlist);//报出nullpoint
gdbl.setMaterial(material);
System.out.println("----->+进来了么?");//不可以打印
gdblBiz.add(gdbl);
request.put("message","添加成功");
return "message";
}

你是在gdbl.setMaintlist(maintlist);这一句报空指针的,我在你的代码里面找不到对gdbl这个变量的声明声明的,而且会报错一般也是这个对象是空的,你检查一下你的代码,或者在这句之前确保gdbl不是空的就可以了

gdbl.setMaintlist(maintlist);//报出nullpoint 明显是gdbl为空

因为你打印的数据没有被else包围,else{System.out.println("materialb不是空的");}//执行这个这句话肯定没有打印出来,你看下
修改如下:
public String addgdbl(){
System.out.println("----->+进来了么?");
maintlist=gdblBiz.getMaintlist(maintlist.getListcode());
material=gdblBiz.getMaterial(material.getMalcode());
if(material==null){
System.out.println("material是空的");
}
else{System.out.println("materialb不是空的");//执行这个
System.out.println("----->+进来了么?");//可以打印
System.out.println(material.getMalcode());//可以打印
System.out.println(material.getMaldesc());//可以打印
System.out.println(material.getHousestock());//可以打印
System.out.println(material);//打印出com.netbank.entity1.Material@3f9a
gdbl.setMaintlist(maintlist);//报出nullpoint
gdbl.setMaterial(material);
System.out.println("----->+进来了么?");//不可以打印
gdblBiz.add(gdbl);
request.put("message","添加成功");
return "message";
}}
这样就可以了

改成这个试试

public String addgdbl(){
System.out.println("----->+进来了么?");
maintlist=gdblBiz.getMaintlist(maintlist.getListcode());
material=gdblBiz.getMaterial(material.getMalcode());
if(material==null || material=="" ){
System.out.println("material是空的");
}
else{System.out.println("materialb不是空的");
System.out.println("----->+进来了么?");//可以打印
System.out.println(material.getMalcode());//可以打印
System.out.println(material.getMaldesc());//可以打印
System.out.println(material.getHousestock());//可以打印
System.out.println(material);//打印出com.netbank.entity1.Material@3f9a
gdbl.setMaintlist(maintlist);//报出nullpoint
gdbl.setMaterial(material);
System.out.println("----->+进来了么?");//不可以打印
gdblBiz.add(gdbl);
request.put("message","添加成功");

}//可以打印

return "message";
}