Como corrigir o erro ArrayIndexOutOfBoundsException em Java?

ArrayIndexOutOfBoundsException ocorre quando um índice inválido é acessado em um array, ultrapassando seus limites definidos.

Como corrigir o erro ArrayIndexOutOfBoundsException em Java?

O erro ArrayIndexOutOfBoundsException ocorre quando tentamos acessar um índice inexistente em um array, ou seja, quando tentamos acessar uma posição fora dos limites do array.

1. O que causa esse erro?

✔ Acessar um índice negativo ✔ Acessar um índice maior ou igual ao tamanho do array ✔ Iterar um array sem verificar seus limites ✔ Modificar dinamicamente um array dentro de um loop sem ajuste de índice

2. Exemplo de erro e solução

❌ Código com erro:

public class ExemploArray {
    public static void main(String[] args) {
        int[] numeros = {1, 2, 3};
        System.out.println(numeros[3]); // Erro: Índice 3 não existe
    }
}

Correção:

public class ExemploArray {
    public static void main(String[] args) {
        int[] numeros = {1, 2, 3};
        if (numeros.length > 3) {
            System.out.println(numeros[3]);
        } else {
            System.out.println("Índice fora dos limites do array");
        }
    }
}

Explicação: Antes de acessar um índice, verificamos se ele existe dentro do array usando numeros.length.

3. Como evitar o erro ArrayIndexOutOfBoundsException?

✔️ 1. Verifique os limites do array antes de acessar um índice

if (indice >= 0 && indice < meuArray.length) {
    System.out.println(meuArray[indice]);
}

✔️ 2. Utilize loops corretos ao percorrer arrays

for (int i = 0; i < meuArray.length; i++) {
    System.out.println(meuArray[i]);
}

✔️ 3. Utilize estruturas como List quando precisar de flexibilidade

import java.util.ArrayList;
import java.util.List;

List<Integer> lista = new ArrayList<>();
lista.add(10);
System.out.println(lista.get(0)); // Seguro pois a lista gerencia os índices

Conclusão

O erro ArrayIndexOutOfBoundsException pode ser evitado com boas práticas de verificação de limites, uso correto de loops e preferindo coleções dinâmicas como List. Essas práticas garantem um código mais seguro e estável ao trabalhar com arrays.

O erro ArrayIndexOutOfBoundsException é uma das exceções mais comuns entre iniciantes na linguagem Java. Isso acontece porque, diferentemente de algumas linguagens, Java não permite acessar índices fora do limite do array, lançando um erro de execução sempre que isso ocorre. Desenvolver um código robusto exige que os programadores tratem os limites do array de forma adequada, evitando falhas inesperadas.

Algumas aplicações:

  • Evitar acessos indevidos em arrays
  • Garantir que laços de repetição não ultrapassem os limites
  • Melhorar a estabilidade do código ao trabalhar com coleções
  • Prevenir falhas inesperadas ao manipular listas dinâmicas

Dicas para quem está começando

  • Sempre verifique o tamanho do array antes de acessar um índice
  • Utilize estruturas de dados como List para evitar problemas com tamanho fixo
  • Prefira loops for-each sempre que possível
  • Monitore exceções e depure seu código para evitar acessos inválidos

Contribuições de Rodrigo Farias

Compartilhe este tutorial: Como corrigir o erro ArrayIndexOutOfBoundsException em Java

Compartilhe este tutorial

Continue aprendendo:

O que significa NullPointerException e como evitar esse erro

NullPointerException ocorre quando tentamos acessar um método ou atributo de um objeto que não foi inicializado corretamente.

Tutorial anterior

Por que estou recebendo ClassNotFoundException ao rodar meu código

ClassNotFoundException ocorre quando a JVM não encontra a classe especificada durante a execução do programa.

Próximo tutorial