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