| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/04/2006 21:02:17
|
RamonSilva
Entusiasta Java
![[Avatar]](/images/avatar/bb181e83b9ac6be1b28b2a2b26dcd73e.jpg)
Membro desde: 23/11/2004 08:54:15
Mensagens: 17
Offline
|
Olá Pessoal!
Estou com um problema em trabalhar com collections em um trecho do meu aplicativo. Segue o código
Segue abaixo o código que tem em Despesa.addParcelaDespesa(ParcelaDespesa);
Já tentei implementar em ParcelaDespesa a interface Cloneable e sobreescrever o clone. Não funcionou também
Segue stacktrace lancado;
Qualquer ajuda será bem-vinda!
Abraços
Ramon
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/04/2006 21:18:21
|
Fabricio Cozer Martins
GUJ Ranger
![[Avatar]](/images/avatar/2ecd2bd94734e5dd392d8678bc64cdab.jpg)
Membro desde: 08/05/2004 10:22:03
Mensagens: 935
Localização: Salvador/Brasil
Offline
|
Esse erro é gerado qdo vc tenta modificar o conteudo de uma coleção no loop do iterator.
|
Fabrício Cozer Martins
Analista de Sistemas
Bacharel em Ciência da Computação da UFBa
Sun Certified Programmer for Java 2 Platform 1.4
Sun Certified Web Component Developer for J2EE 1.4 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/04/2006 21:51:27
|
RamonSilva
Entusiasta Java
![[Avatar]](/images/avatar/bb181e83b9ac6be1b28b2a2b26dcd73e.jpg)
Membro desde: 23/11/2004 08:54:15
Mensagens: 17
Offline
|
Fabrício Cozer Martins wrote:Esse erro é gerado qdo vc tenta modificar o conteudo de uma coleção no loop do iterator.
Obrigado pela resposta!
Isso eu já sei. O que eu quero saber é onde está sendo alterado o item da collection? E qual outra estratégia de implementação que eu posso usar para sanar esse problema.
Alguma sugestão?
Abs
Ramon
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/04/2006 21:57:13
|
Fabricio Cozer Martins
GUJ Ranger
![[Avatar]](/images/avatar/2ecd2bd94734e5dd392d8678bc64cdab.jpg)
Membro desde: 08/05/2004 10:22:03
Mensagens: 935
Localização: Salvador/Brasil
Offline
|
vc pode usar a estratégia 'separate collections', onde você trabalha com duas coleções onde uma vc vai adicionando elementos da outra que vc deve tratar.
|
Fabrício Cozer Martins
Analista de Sistemas
Bacharel em Ciência da Computação da UFBa
Sun Certified Programmer for Java 2 Platform 1.4
Sun Certified Web Component Developer for J2EE 1.4 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/04/2006 22:13:12
|
RamonSilva
Entusiasta Java
![[Avatar]](/images/avatar/bb181e83b9ac6be1b28b2a2b26dcd73e.jpg)
Membro desde: 23/11/2004 08:54:15
Mensagens: 17
Offline
|
Fabrício Cozer Martins wrote:vc pode usar a estratégia 'separate collections', onde você trabalha com duas coleções onde uma vc vai adicionando elementos da outra que vc deve tratar.
Obrigado! Eu usei a estratégia que voce me indicou e funcionou. Mas não gostei de ter que usar duas collections para uma operação tão simples. Será que isso não é um problema de thread? Já usei o Collections.synchronizedList(minhalista) e deu o mesmo erro.
Não sei oque pode ser.
Abraços!
Ramon
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/04/2006 12:41:57
|
takeshi10
Java Ninja
Membro desde: 08/08/2004 23:05:25
Mensagens: 254
Localização: Brasil
Offline
|
a moral da historia eh: nao modifique a collection durante a iteracao, pq pode dar problemas - mesmo com synchronized, como vc esta modificando a lista durante a iteracao no mesmo thread, a excecao eh lancada...
a sugestao dada eh a mais simples mesmo
|
takeshi |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/04/2006 14:52:34
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline
|
ConcurrentModificationException não diz respeito nenhum a modificação entre threads.
Essa exception é lançada sempre que você fizer alguma modificação estrutural em uma collection sem ser pelo iterator. A solução é você realizar as alterações pelo iterator ou usar colections separadas.
|
http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/04/2006 15:00:08
|
takeshi10
Java Ninja
Membro desde: 08/08/2004 23:05:25
Mensagens: 254
Localização: Brasil
Offline
|
pois eh, mas muitas pessoas jah erraram (eu, inclusive) achando que a collection estava sendo modificada por outra thread ou coisa parecida...
pelo menos para mim a excecao eh um pouco sugestiva nesse sentido, alem do javadoc mencionar:
For example, it is not generally permissible for one thread to modify a Collection while another thread is iterating over it
|
takeshi |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/11/2006 15:58:01
|
Rulldra
HelloWorld
![[Avatar]](/images/avatar/c53e912b5f1f9f356348061f065828fa.png)
Membro desde: 19/09/2006 11:23:04
Mensagens: 11
Localização: Brasília, DF
Offline
|
Eita... eu estou com o mesmo problema que ele (ou ao menos parecido) e não sei como resolver. Se puderem me explicar passo-a-passo por favor, eu ficaria muito agradecido!
Segue abaixo parte do meu código:
Sendo que lá em cima, no início do código, eu criei:
O erro é o mesmo ( java.util.ConcurrentModificationException ) e está marcado nessa linha : p2 [i] = (Produto) busca.next();
Dêem-me uma mãozinha, pessoal. Tou precisando disso pra ontem!! =/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/04/2009 09:46:00
|
malsan
JavaTeenager
Membro desde: 14/12/2007 16:20:02
Mensagens: 160
Offline
|
Outro Collection? É muito Collection! Eu faço assim:
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/12/2009 15:55:04
|
danilloh
Thread.start()
Membro desde: 14/12/2006 09:32:41
Mensagens: 27
Offline
|
Mais uma opção...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/12/2009 15:56:47
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 19680
Localização: Curitiba/PR
Online
|
Será que o pessoal de 2006 já não tinha percebido essas duas soluções?
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/01/2010 09:43:45
|
f-schmitt
JavaChild
![[Avatar]](/images/avatar/5f96320c454aed712e4545adacdba754.jpg)
Membro desde: 29/07/2006 08:25:22
Mensagens: 116
Localização: Gravatal
Offline
|
Estava passando pelo mesmo problema,pirando achando que era problemas de thread, to usando sockets e thread, mas o --i; resolveu meu problema!
valeu pessoal!
|
Java, Clarion, HB++, PostgreSQL |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/01/2010 20:30:43
|
seudito
Thread.start()
![[Avatar]](/images/avatar/c70f6b25d708ccc79f5a0a0adbd6ad6e.png)
Membro desde: 14/09/2009 15:37:52
Mensagens: 31
Offline
|
--i me salvou tb... tks!
|
"Roses are red, apples are ripe, if you don't import, you'll just have to type" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/03/2010 02:21:11
|
zepspaiva
Smalltalk
Membro desde: 21/03/2010 19:03:06
Mensagens: 1
Offline
|
Tive o mesmo problema quando eu tentava assim:
Resolvi da seguinte forma:
|
|
|
 |
|
|