日期:2014-05-20  浏览次数:20866 次

再问个问题吧,对象设置属性的时候···
List<Object[]> list= examService.getExamResultList(RisRequest.class);
for(int i = 0;i<list.size();i++){
risReq.setTotal(Integer.parseInt(list.get(i)[1].toString()));
risReq.setExamMethod(list.get(i)[0].toString());
examMethodList.add(risRequest);
}


纳闷很,为什么list里明明有值,risReq在设置属性值的时候老报空指针异常

------解决方案--------------------
楼主,risReq是不是为null
------解决方案--------------------
如果risReq不为null,请检查下list.get(i)[1]是不是为null
------解决方案--------------------
risReq有没有实例化,没实例化的话会报空指针
另外list中的每个对象中的元素值时不是为null呢

risReq.setTotal(Integer.parseInt(list.get(i)[1] == null ? "0" : list.get(i)[1].toString()));

在确保risReq被实例化后,可以这么写你的语句,应该不会报空指针了
------解决方案--------------------
程序调试一下就知道了,看倒底是risReq 为空,还是list.get(i)为空,还是 list.get(i)[1]为空