protected Day[] days= new Day[n];
for(int i=0;i<days.length; i++)
{
days[i]= new Day(5);
}
上面提到的代码适用于我,但修改为循环如下所述导致NullPointerException当我尝试访问数组的元素。任何人都可以解释它为什么会发生?增强for循环无法初始化对象
protected Day[] days= new Day[n];
for(Day d:days)
{
d= new Day(5);
}
你不能那样做。 'd'是单元格的内容。你不能分配给它;它只是一个副本。我不知道为什么它会导致NPE。 – Carcigenicate
你可以指定它,它不会影响任何东西。 –
我不明白你为什么会有NullPointerException。 @Oliver Charlesworth说,它应该不会改变循环中的“天”。你能显示堆栈跟踪吗? – davidxxx