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

    [Java] eccezione arraylist

    ciao a tutti, ho questo semplice codice di test:

    codice:
    		ArrayList<String> s = new ArrayList<String>();
    		s.add("ciao");
    		Iterator<String> it = s.iterator();
    		while(it.hasNext()){
    			String di = it.next();
    			if (di.equalsIgnoreCase("ciao")){
    				s.remove(di);
    			}
    		}
    se lo mando in esecuzione dentro un main ecco l'eccezione:

    codice:
    Exception in thread "main" java.util.ConcurrentModificationException
    	at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
    	at java.util.AbstractList$Itr.next(Unknown Source)
    	at Test.main(Test.java:14)
    cosa significa?!? grazie
    V+K

  2. #2
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Cosa significano piuttosto quei <String> ?
    Probabilmente, eliminandoli, compila.
    Ciao, Brainjar

  3. #3
    come cosa significano!?!?!?!?!? significa arrayList di Stringhe!
    V+K

  4. #4
    nessuna idea?
    V+K

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    29
    Perchè non usi il costrutto
    for(int i =0; i<s.size(); i++)
    if (s.get(i).equalsIgnoreCase("ciao")){
    s.remove(i);
    }
    se devi gestire quel tipo di problema secondo me l'iterator è solo un fastidio.
    Se invece devi utilizzare per forza l'iterator allora mi sembra che l'errore è dovuto al fatto che non hai implementato l'interfaccia Iterator e ridefinito i metodi hasNext(), next() e remove().
    Comunque con il vecchio cotrutto for dovrebbe andare bene.
    Ciao.

  6. #6
    ok, t ringrazio. provo e poi t faccio sapere, ciao
    V+K

  7. #7
    Originariamente inviato da Brainjar
    Cosa significano piuttosto quei <String> ?
    Probabilmente, eliminandoli, compila.
    è la novità dell'ultimo jdk (la 1.5). Permette di definire la tipologia di dati contenuti in un array, con una sintassi simile a quella del C++.

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.