Ola pessoal.
Primeiramente me desculpe por criar um novo topico, pois com aquele eu nao consegui tirar minha duvida. Tenho um codigo que faz uma varredura em uma colecao e executa algo nela. Esta dando esse erro: java.util.ConcurrentModificationException, no topico que consta no forum esta dizendo que esta havendo alguma mudanca na estrutura na colecao durante a iteracao e que a solucao é criar uma copia da colecao iterada. Por esse meu codigo, eu nao notei onde esta havendo essa mudanca, voces podem tirar essa minha duvida? Se acaso ocorre essa mudanca como eu crio essa copia?
Iterator<Lance> iteraLance = licitante.getProposta().getLance()
.iterator();
while (iteraLance.hasNext()) {
Lance lanceIterado = iteraLance.next();
if (lanceIterado.getLote().getId() == lance.getLote().getId()) {
lance.setStatus(Byte.valueOf("1"));
prop = licitante.getProposta();
prop.setAceitacaoLicitante(Byte.parseByte(formProposta
.getAceitacaoLicitante()));
prop.setStatusProposta(Byte.parseByte("0"));
Iterator<Lance> iteratorLance = prop.getLance().iterator();
//tentei fazer a copia em vao
List<Lance> copiaLance = new ArrayList<Lance> ();
while (iteratorLance.hasNext()) {
//O erro aponta nessa linha
Lance pr = iteratorLance.next();
copiaLance.add(pr);
if (pr.getValor() > lance.getValor()) {
prop.addLance(lance);
this.propostaService.updateProposta(prop);
} else {
messages.add("valorAlto", new ActionMessage(
"error.valor.proposta.alto"));
saveMessages(request, messages);
return mapping.findForward("valorAlto");
}
}
} else
O erro aponta para a linha 18…