Java - java.lang.NullPointerException(将数据放入List<>)

时间:2012-11-03 17:22:55

标签: java

我想知道为什么我有这个错误。你有没有想法,你知道如何解决它吗?

错误(我在put()中收到此错误):

Exception in thread "main" java.lang.NullPointerException
at nacs.put(nacs.put:36)
at Program.main(Program.java:69)

计划:(主要)

Nac nacs = new Nac();
nacs.put(new Intsult(1));
nacs.put(new Intsult(2));

类别:

public class Nac implement IPoraw
{
public List<IAbstrsUlt> abs;
public void put(IAbstrsUlt value)
{
abs.add(value);
}
}

3 个答案:

答案 0 :(得分:10)

初始化列表。

private List<IAbstrsUlt> abs = new ArrayList<IAbstrsUlt>();

注意:您应该始终尝试声明您的成员更具限制性。 Object的默认值为null。请参考Oracle tutorial了解默认值。

答案 1 :(得分:2)

永远不会初始化变量abs。

试试这个

public List<IAbstrsUlt> abs = new ArrayList<>();

答案 2 :(得分:1)

public List<IAbstrsUlt> abs;

- 在上面的陈述中,您只需声明 List Reference Variable abs类型为IAbstrsUlt,并且{ {1}}的默认值Object Reference Variable,因此在这种情况下也是如此。

- 您必须初始化

null