Ai gente, deve ser algo bem basico mesmo mas eu to apanhando nessa exception e não to entendendo. Eu tenho um List de Produtos e estou fazendo um método para alterar um produto da lista. Esse é meu método:
public void atualizar(Produtos p) throws Exception {
for( int i = 1; i <= produtos.size(); i++){
if(produtos.get(i).equals(p)){ // essa é a linha 21 mostrada na exception
produtos.remove(i);
produtos.add(p);
}
}
}
e essa a exception:
java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at dados.ProdutosDb.atualizar(ProdutosDb.java:21)
eu sei que esse tipo de erro é quando eu tento acessar um elemento na maior do que tem na lista, mas no erro ta mostrando index:1 e size: 1, ai eu não entendi. Alguem pode me explicar?
public void atualizar(Produtos p) throws Exception {
for( int i = 0; i < produtos.size(); i++){
if(produtos.get(i).equals(p)){ // essa é a linha 21 mostrada na exception
produtos.remove(i);
produtos.add(p);
}
}
}