我在这一行上收到了这个空错误,但我正在进行if
检查并设置一个空字符串,如果为null。我做错了吗?
java.lang.NullPointerException
at form.setSam((teamBean.getHead().getNone().getCode() == null) ? "" : teamBean.getHead().getNone().getSamCode().toString()); //SAM
代码:
public int show(Action action) throws Exception
{
HttpServletRequest request = action.getRequest();
String[] params;
if (!isEmpty(params[0]))
{
String teamNumber= params[0];
TeamBean teamBean = DAO.getTeamDAO().getTeamByNumber(Long.parseLong(teamNumber));
Fake form = new fakeForm();
form.setMoor(teamBean.getHeader().getMoor());
form.setDoor(Double.toString(teamBean .getDoors()));
form.setURC(Double.toString(teamBean.getURCS()));
form.setUMC(Double.toString(teamBean.getUMCSt()));
form.setWeek(Long.toString(teamBean.getHead().getWeek().getnow())); //WEEK
ERROR HERE -->> form.setSam((teamBean.getHead().getNone().getCode() == null) ? "" : teamBean.getHead().getNone().getSamCode().toString()); //SAM
答案 0 :(得分:3)
为清楚起见,这是为您提供NullPointerException
:
teamBean.getHead().getNone().getCode()
您没有检查getNone
是否返回null。
答案 1 :(得分:2)
你得到它是因为teamBean.getHead().getNone()
为空。而且由于你在这个空值上调用getCode()
,你会得到一个NullPointerException。
请注意
form.setSam((teamBean.getHead().getNone().getCode() == null) ? "" : "");
可以改写为
form.setSac("");
(除了你没有NullPointerException)