IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Format d'échange (XML, JSON...) Java Discussion :

Exception:Exception in thread "main" java.util.ConcurrentModificationException


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Membre régulier Avatar de solawe
    Inscrit en
    Juillet 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2006
    Messages : 368
    Points : 97
    Points
    97
    Par défaut Exception:Exception in thread "main" java.util.ConcurrentModificationException
    Bonjour,

    J'essaye de filtrer les elements d'un itérator pour ajouter un sous element à mon element que je cherche,la partie de code est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    			while(itr.hasNext()){
    				Element elt=(Element)itr.next();
    				System.out.println("***"+elt.getAttribute("key").getValue());
    				if(elt.getAttribute("key").getValue().equals(parentArrayListkey)){
     
    					elt.addContent(arrayListElementChild);
    				}
    			}

    quand j'execute j'obtiens l'exception:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Exception in thread "main" java.util.ConcurrentModificationException
    	at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
    	at java.util.AbstractList$Itr.next(Unknown Source)
    	at org.jdom.DescendantIterator.next(DescendantIterator.java:134)
    	at org.jdom.FilterIterator.hasNext(FilterIterator.java:91)
    	at xml2if.TestIFM.setArrayList(TestIFM.java:113)
    	at xml2if.TestIFM.main(TestIFM.java:53)
    Savez vous qu'est ce que je dois modifier?
    merci pour l'aide.

  2. #2
    Membre éprouvé
    Inscrit en
    Mars 2006
    Messages
    848
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2006
    Messages : 848
    Points : 1 078
    Points
    1 078
    Par défaut
    A ma connaissance, cette exception est levée lorsque tu modifies la structure parcourue par ton itérateur.
    ça doit venir de cette ligne là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    elt.addContent(arrayListElementChild);

  3. #3
    Membre régulier Avatar de solawe
    Inscrit en
    Juillet 2006
    Messages
    368
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juillet 2006
    Messages : 368
    Points : 97
    Points
    97
    Par défaut
    oui c'est ce que j'ai trouvé d'après la documentation du itérator, apparemment on ne peut pas modifier les éléments d'un iterator au cours de son parcours.

    maintenant, j'extrais mon élément voulu et je sors de la boucle puis je le modifie, je vais garder cette solution pour le moment en attendant que je trouves quelque chose de mieux.

    merci pour la réponse

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 36
    Points : 28
    Points
    28
    Par défaut re
    Bonjour,
    Avez-vous trouvé une solution définitive à ce problème?
    Peut-on ajouter un nouvel élément à une liste qu'on est en train de parcourir?

    Je vous remercie par avance!

Discussions similaires

  1. Réponses: 5
    Dernier message: 02/06/2008, 13h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo