声明:
private Man[] man;
这是初始化:
Man[] man = new Man[1];
for (int i = 0; i < 1; i++){
man[i] = new Man();
for (int j = 0; j < 3; j++){
man[i].eatThis(table.foods[table.topFood-1]);
table.topFood--;
}
}
想要打印此内容:
System.out.println(getMan(0));
这将转到:
public Man getMan(int k){
return man[k];
}
但我收到 NullPointerException。为什么?同时:
System.out.println(man[0]);
工作得很好。
Exception in thread "main" java.lang.NullPointerException
at ManRunning.getMan(ManRunning.java:80)
at ManRunning.newGame(ManRunning.java:133)
at ManRunning.<init>(ManRunning.java:57)
at RunDevilRun.main(RunDevilRun.java:9)
最佳答案
第 (1) 行
Man[] man = new Man[1];
正在隐藏此行中声明的实例变量 (2)
private Man[] man;
任何像样的 IDE 都会对此显示警告。
以下是如何初始化第 (1) 行中用第 (2) 行声明的数组 man
man = new Man[1];
关于java - 如何在没有 NullPointerException 的情况下返回数组对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15170755/