¿Qué causa una java.lang.ArrayIndexOutOfBoundsException y cómo la evito?
¿Qué significa ArrayIndexOutOfBoundsException
y cómo puedo deshacerme de ella?
Aquí hay un ejemplo de código que desencadena la excepción:
String[] name = { "tom", "dick", "harry" };
for (int i = 0; i <= name.length; i++) {
System.out.println(name[i]);
}
273
3
Su primer puerto de escala debería ser la [documentación][1] que lo explica de forma razonablemente clara:
Se lanza para indicar que se ha accedido a un array con un índice ilegal. El índice es negativo o mayor o igual que el tamaño del array.
Así, por ejemplo:
En cuanto a cómo evitarlo... um, no lo hagas. Ten cuidado con los índices de tus arrays.
Un problema con el que a veces se encuentra la gente es pensar que los arrays están indexados en 1, por ejemplo
Ver también:
Actualización: según su fragmento de código,
Significa que estás intentando acceder a un índice de un array que no es válido porque no está entre los límites.
Por ejemplo, esto inicializaría un array de enteros primitivos con el límite superior 4.
Los programadores cuentan desde cero. Así que esto, por ejemplo, lanzaría una
ArrayIndexOutOfBoundsException
ya que el límite superior es 4 y no 5.