У меня есть этот код, который не работает:Почему это для каждого цикла не работает?
Panel[] panelArr = new Panel[5];
for (Panel p:panelArr) {
p = new Panel();
}
Label lblName = new Label("Name:");
panelArr[0].add(lblName);
Это приходит с ошибкой:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at GUIVehicles$NewSportsCarDialog.<init>(GUIVehicles.java:65)
Однако если заменить на-каждый цикл с этим для цикла он работает.
for (int i = 0; i < 5; i++) {
panelArr[i] = new Panel();
}
Насколько я могу судить, просматривая документацию для каждого цикла, оба цикла должны быть эквивалентными. Ясно, что это не так, и мне было интересно, почему?
Взрыв на! Прямо в точку. :) –
Большое спасибо. Я был уверен, что я не понимаю его на самом базовом уровне, и это оказалось правильным. –