ConcurrentModificationException como resolver?

Ola,

O problema é o seguinte, tenho estas linhas de codigo e não sei porque da o erro do concurrentModificationException. Gostaria que me ajudasse sff

try { for(Pendente p: consultarBD.consultarPendentes()) if (cbPendente.getSelectedIndex() == consultarBD.consultarPendentes().indexOf(p)) { System.out.println("teste"); tNome.setText(p.getNome()); } } catch (ClassNotFoundException ex) { Logger.getLogger(EditPendente.class.getName()).log(Level.SEVERE, null, ex); } catch (SQLException ex) { Logger.getLogger(EditPendente.class.getName()).log(Level.SEVERE, null, ex); }

Cara, em qual linha o erro é apresentado?

É quando eu invoco, porque isso que meti ai e um metodo que criei para listar um objecto se este tiver selecionado na combobox

Utilizei a sugestão 2, obrigado :wink:

Na minha opinião, só o fato de ter que ter o indexOf já é motivo suficiente para não usar o foreach.

ConcurrentModificationException é gerado por um acesso ilegal à Collection durante a Iteração (uso do Iterator).
Como você está querendo adicionar um item novo na combo, isso deve ocorrer fora do loop, senão, ao ocorrer o iterator.next() , que está abstraido pelo foreach, é feita uma checagem em tua lista indicando que a mesma foi alterada. Aí… ConcurrentModificationException

Sugestão 1: mude para um for normal
Sugestão 2: adicione os itens numa lista a parte e, após o loop, adicione-os.