Viac na
Čo spôsobuje výnimku java.lang.ArrayIndexOutOfBoundsException a ako jej zabrániť?
Čo znamená ArrayIndexOutOfBoundsException
a ako sa jej zbaviť?
Tu je ukážka kódu, ktorá vyvolá výnimku:
String[] name = { "tom", "dick", "harry" };
for (int i = 0; i <= name.length; i++) {
System.out.println(name[i]);
}
273
3
Ako prvé by ste sa mali obrátiť na [dokumentáciu][1], ktorá to vysvetľuje pomerne jasne:
Takže napríklad:
Pokiaľ ide o to, ako sa tomu vyhnúť... ehm, nerobte to. Dávajte si pozor na indexy polí.
Jedným z problémov, na ktorý ľudia niekedy narážajú, je myslenie si, že polia sú 1-indexované, napr.
Pozri tiež:
Aktualizácia: podľa vášho úryvku kódu,
Znamená to, že sa pokúšate získať prístup k indexu poľa, ktorý nie je platný, pretože sa nenachádza medzi hranicami.
Takto by sa napríklad inicializovalo primitívne celočíselné pole s hornou hranicou 4.
Programátori počítajú od nuly. Takže toto by napríklad vyhodilo
ArrayIndexOutOfBoundsException
, pretože horná hranica je 4 a nie 5.