protected Day[] days= new Day[n];
for(int i=0;i<days.length; i++)
{
days[i]= new Day(5);
}
上記のコードはうまく動作しますが、配列の要素にアクセスしようとするとNullPointerExceptionが発生します。それはなぜ起こるのですか? for
の強化されたforループはオブジェクトを初期化できません
protected Day[] days= new Day[n];
for(Day d:days)
{
d= new Day(5);
}
これはできません。 'd'はセルの内容です。あなたはそれに割り当てることはできません。それはちょうどコピーです。私はなぜそれがNPEを引き起こすのか分からない。 – Carcigenicate
これに割り当てることができます。何も影響しません。 –
NullPointerExceptionが発生する理由はわかりません。 @Oliver Charlesworthはこう述べている。スタックトレースを表示できますか? – davidxxx