我想知道为什么我有这个错误。你有没有想法,你知道如何解决它吗?
错误(我在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);
}
}
答案 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