Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    Problema con le liste

    Salve a tutti volevo sapere cosa c'è che non va in queste due righe di codice:

    codice:
    List test = new LinkedList();
    ListIterator selettore = test.listIterator();
    String selezionato = new String();
    
    test.add( new String("zero") );
    test.add( new String("uno") );
    
    while( selettore.hasNext() ){
    	selezionato = (String) selettore.next();
    	System.out.println( selezionato );
    }
    mi da un errore di ConcurrentModificationException

    codice:
    Exception in thread "main" java.util.ConcurrentModificationException
    	at java.util.LinkedList$ListItr.checkForComodification(LinkedList.java:552)
    	at java.util.LinkedList$ListItr.next(LinkedList.java:488)

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: Problema con le liste

    Originariamente inviato da iJim
    Salve a tutti volevo sapere cosa c'è che non va in queste due righe di codice:

    mi da un errore di ConcurrentModificationException
    Dal momento in cui si ottiene l'iteratore (sia quello normale Iterator che in questo caso ListIterator) fino alla fine della iterazione, non bisogna modificare direttamente la collezione, le uniche modifiche possibili sono fattibili solo tramite l'iteratore (remove() e per ListIterator anche add()/set()).

    Tu però tra la creazione dell'iteratore e la fine della iterazione hai fatto 2 add. Prima fai le add(), poi prendi l'iteratore.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Grazie mille!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.