For each

boa tarde, Galera !

é o seguinte é a primeira vez que estou utilizando o for each, para recuperar o valor de uma arraylist, porém
o valor que tenho que recuperar é uma classe, e a partir de recupear a classe eu utiizo os get e set para pegar os valores…



package pacote.persistencia;

import java.util.ArrayList;
import java.util.List;
import pacote.classes.Telefones;

public class GerenciaTelefone {   
  
    private List lista = null;   
  
    public GerenciaTelefone() {   
  
        lista = new ArrayList();   
    }   
  
    public boolean adiciona(Telefones novo){   
  
        return lista.add(novo);   
  
    }   
  
    public List getLista(){   
        return lista;   
    }   
  
       
  
}

Aqui eu estou usando o Iterato, porém não consigo utilizar o for each alguem sabe como eu consigo…

[code]

<%

   GerenciaTelefone listatelefone = (GerenciaTelefone)request.getAttribute("tel");

   Iterator i = listatelefone.getLista().iterator();


    while(i.hasNext()){

        //Telefones tels = null;
         Telefones tels = (Telefones) i.next();
        //Setando Valores
         int id = tels.getCodigo();
         int ramal = tels.getRamal();// = (Telefones) i.next();
         String nome = tels.getNome();
         String departamento = tels.getDepartamento();

        //recuperando
        out.println("<tr>");
        out.println("<td> id :" +id+ "</td><br>");
        out.println("<td> Ramal :" +ramal+ "</td><br>");
        out.println("<td> Nome :" +nome+ "</td><br>");
        out.println("<td> Departamento :" +departamento+ "</td><br>");
       out.println("<td> <a href=\"SqlServletTelefones?acao=excluir&ramal="+ramal+" \">Excluir</a></td><br>");
       out.println("<td> <a href=\"teste.jsp?id="+id+"&ramal="+ramal+"&nome="+nome+"&departamento="+departamento+" \" >Alterar</a></td>");
      
        



        }

%>[/code]

Obrigago… :smiley:

Comece melhorando seu código para usar Generics.

package pacote.persistencia;

import java.util.ArrayList;
import java.util.List;
import pacote.classes.Telefones;

public class GerenciaTelefone {   
    private List<Telefones> lista = null;   
  
    public GerenciaTelefone() {   
        lista = new ArrayList<Telefones>();   
    }   
  
    public boolean adiciona(Telefones novo){   
        return lista.add(novo);   
    }   
  
    public List<Telefones> getLista(){   
        return lista;   
    }   
}

Depois, é só usar o for each. Sem os generics vc teria que criar os objetos como object e fazer cast.

    <%
        GerenciaTelefone listatelefone = (GerenciaTelefone)request.getAttribute("tel");
        for (Telefones tels : listatelefone.getLista()) {
            //Setando Valores
            int id = tels.getCodigo();
            int ramal = tels.getRamal();// = (Telefones) i.next();
            String nome = tels.getNome();
            String departamento = tels.getDepartamento();

            //recuperando
            out.println("<tr>");
            out.println("<td> id :" +id+ "</td><br>");
            out.println("<td> Ramal :" +ramal+ "</td><br>");
            out.println("<td> Nome :" +nome+ "</td><br>");
            out.println("<td> Departamento :" +departamento+ "</td><br>");
            out.println("<td> <a href=\"SqlServletTelefones?acao=excluir&ramal="+ramal+" \">Excluir</a></td><br>");
            out.println("<td> <a href=\"teste.jsp?id="+id+"&ramal="+ramal+"&nome="+nome+"&departamento="+departamento+" \" >Alterar</a></td>");
        }
    %>

amigo,

vc tem uma duvida com o for each porém vc mostra um codigo sem o for que vc mencionou e que erros são mostrados, dessa forma fica dificil de ajudar.

att.

Vini,
Muito obrigado, em relação ao foreach e me apresentar a utilização de Generics…

Ela facilta muito a manutenção de código pelo ou que eu li e um artigo até mesmo de sua autoria…

Obrigado !!