Erro ao executar

Sou iniciante em Java e estou tendo problema com esse método abaixo, compila normal, mas ao executar aparece o erro abaixo, quem puder me ajudar agradeço…

private String trataNomeColuna(String str) {
String result = “”;

String[] nomeColuna = new String[2];
nomeColuna[0] = "CODIGO";
nomeColuna[1] = "BANCO";

String[] nomeTratado = new String[2];
nomeTratado[0] = "CODIGO";
nomeTratado[1] = "BANCO";

for (int i = 0; i <= nomeColuna.length; ++i) {
	[b]if (str.trim().equals(nomeColuna[i].trim())) {[/b]
                                 result = nomeTratado[i];
		break;
	}
}
return result;

}

init:
deps-jar:
compile:
run:
Exception in thread “AWT-EventQueue-0” java.lang.ArrayIndexOutOfBoundsException: 2
at br.com.gerson.cadastros.Pesquisa.trataNomeColuna(Pesquisa.java:243)
at br.com.gerson.cadastros.Pesquisa.exibeDados(Pesquisa.java:178)

Fala kra blz? É o seguinte esta exception ArrayIndexOutOfBoundsException, é quando estoura o tamanho do array criado, foi o se caso.
O erro está aqui

for (int i = 0; i <= nomeColuna.length; ++i) { 
//Você faz um for de 0 até o tamanho do vetor que é 2

//Mas os indices no java começam com 0 
//Então um vetor de posições só tem índices 0 e 1,

/Aí logo abaixo vc faz a comparação
if (str.trim().equals(nomeColuna[i].trim())) 

//Aqui ele tenta acessar a posição 2 no ultimo laço do for, 
//mas esta posição não existe!!!

Deu pra entender??

Para resolver o erro eh so alterar o for para:

for (int i = 0; i < nomeColuna.length; ++i) {  //Trocar <= por menor, assim ele só chega até o 1, e 
                                                                  //não dá o exception

Espero ter ajudado!

Valeu!

Só corrigindo, o que eu disse, a exception ArrayIndexOutOfBoundsException, é quando você tenta acessar uma posição do Array que não existe.

Valeu

Kra muito obrigado mesmo, era isso.

Qualquer dúvida é só postar!

Valeu