Jou*_*uge -1 java nullpointerexception
我正在尝试进行这个java练习,但是我收到一个NullPointerException,我无法理解为什么
public class CV
{
private String nome;
private HashSet<Pubblicazione> pubblicazioni;
public CV(String nome)
{
this.nome = nome;
}
public void aggiungiPubblicazione(Pubblicazione pub)
{
pubblicazioni.add(pub);(*)
}
public String getNome(){return nome;}
public HashSet<Pubblicazione> getPubblicazioni(){ return pubblicazioni; }
}
public class ProfEvaluator
{
private CV curriculum;
public ProfEvaluator(CV curriculum){ this.curriculum = curriculum; }
public static void main(String[] args)
{
CV cv = new CV("Mario Rossi");
cv.aggiungiPubblicazione(new Pubblicazione("pub1",10, "Mario Rossi", "Luigi Bianchi", "Giuseppe Verdi")); (*)
cv.aggiungiPubblicazione(new Pubblicazione("pub2",10, "Mario Rossi", "Giuseppe Verdi"));
}
}
Run Code Online (Sandbox Code Playgroud)
输出是:
Exception in thread "main" java.lang.NullPointerException
at CV.aggiungiPubblicazione(CV.java:18)
at ProfEvaluator.main(ProfEvaluator.java:53)
Run Code Online (Sandbox Code Playgroud)
我用eclipse进行了调试,没有NullPointers.在标有(*)的行中抛出异常(错误消息指示的行是错误的'因为我只粘贴了我认为与错误有关的程序部分.
你有一个空指针.您pubblicazioni在实例化之前尝试访问.
您可以添加到构造函数:
public CV(String nome)
{
this.nome = nome;
this.pubblicazioni = new HashSet<>();
}
Run Code Online (Sandbox Code Playgroud)
正如@ZouZou所说:
如果您不处理Java 7,请替换= new HashSet<>();为= new HashSet<Pubblicazione>();
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |