java.lang.IndexOutOfBoundsException
Ich verwende ArrayList, um die 'Schatten' für jedes Rechteck in der Ebene zu speichern.
for(int n = 0; n < shadows.size(); ++n){
g2d.fillPolygon(shadows.get(n)[0]);
g2d.fillPolygon(shadows.get(n)[1]);
g2d.fillPolygon(shadows.get(n)[2]);
g2d.fillPolygon(shadows.get(n)[3]);
g2d.fillPolygon(shadows.get(n)[4]);
g2d.fillPolygon(shadows.get(n)[5]);
}
Ich bekomme einjava.lang.IndexOutOfBoundsException
Fehler, der so aussieht:Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 42, Size: 79
Warum erhalte ich den Fehler, obwohl die Indexnummer nicht gleich oder größer als die Größe ist? Das Programm läuft immer noch wie gewohnt, aber ich möchte nicht, dass es Fehler enthält.
Ich habe auch eine Enchanced for-Schleife ausprobiert, aber dann bekomme ich einejava.util.ConcurrentModificationException
stattdessen
for(Polygon[] polys : shadows){
g2d.fillPolygon(polys[0]);
g2d.fillPolygon(polys[1]);
g2d.fillPolygon(polys[2]);
g2d.fillPolygon(polys[3]);
g2d.fillPolygon(polys[4]);
g2d.fillPolygon(polys[5]);
}