Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    456

    problema con iterator dentro iterator

    Ciao,
    ho una pagina in cui stampo i valori di una query tramite un iterator;
    all'interno del ciclo che uso per stampare l'iterator, ho un'altro ciclo che mi stampa i valori di un altro iterator.
    Il secondo iterator in alcuni casi presenta dei valori nulli (o meglio stringhe vuote prese dal db) quindi non dovrebbe stampare niente.
    Succede però che dopo aver stampato dei valori (nel caso in cui nel db non ci siano strigne vuote), ottengo sempre gli stessi valori ripetuti pere tutto il ciclo.
    Non so se sono riuscito a spiegarmi bene, vi posto il codice
    codice:
    //primo iterator
    Iterator itr3;
    List data2 = Login.getListaRecord();
    
    //ciclo  primo iterator
    for (itr3=data2.iterator(); itr3.hasNext(); )
         {
    
         /// i valori stampati qui sono corretti
          %><%=itr3.next()%><%
    
          //secondo iterator
          Iterator itrMuscoli;
          List dataMuscoli = Login.getListaMuscoli();     
    
          //ciclo  secondo iterator
          for (itrMuscoli=dataMuscoli.iterator();itrMuscoli.hasNext();)
    			{
                            // qui stampa sempre gli stessi valori
                            %><%=itrMuscoli.next()%><%
                            }
          }

    Le queri vengono effettuate in un bean, non le ho postate perchè non le ho ritenute necessarie
    Una situazione dle genere va trattata in maniera particolare?
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Implementazione a parte.

    Perchè usi Iterator?
    Quando si tratta di stampa è sempre comodo utilizzare il ciclo for in stile for-each.
    Esempio:
    codice:
    ArrayList<MiaClasse> elementi = new ArrayList<MiaClasse>();
    
    for(MiaClasse mc : elementi) {
      System.out.println(mc); // questo se hai definito una tua versione di toString(), altrimenti devi richiamare un metodo specifico.
    }

    Diverso è il caso in cui fossi obbligato ad utilizzare un determinato metodo implementativo...

  3. #3
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Patrick Jane
    Perchè usi Iterator?
    Quando si tratta di stampa è sempre comodo utilizzare il ciclo for in stile for-each.
    Il for-each comunque di "nascosto" usa l'iteratore. Quindi è proprio solo una forma più bella e compatta ma non cambia il succo.
    Se poi la lista non è "parametrizzata", il for-each si può ancora fare ma la variabile che deve essere dichiarata nel for deve essere per forza Object e poi però nel body va castata al tipo specifico. Meno comodo.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2001
    Messaggi
    456
    Sto studiando jsp da poco, e da quanto ho letto i risultati di una query si gestiscono tramite list ed iterator. Non è questo il modo corretto?

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.