Que metodo eu uso para popular uma Collection?? Eu teria que Instanciar essa Collection??
Collections
7 Respostas
Você pode fazer assim:
Collection lista = new ArrayList();
lista.add("Bla1");
lista.add("Bla2");
[]s
Eduardo
Ok, valwe kra, brigadao…
Quando vou imprimir esta lista em um metodo main, estou utilizando o recurso do iterator. Mas nao estou conseguindo imprimir os objetos que estao carregados em minha lista, soh consigo imprimir os indereços de memoria dos mesmos.
Codigo Utilizado:
Iterator it = minhaCollection.iterator();
while( i.hasNext() )
out.println(it.next() );
Como faço para imprimir os objetos corretamente???
Qual é o tipo dos objetos que estão na lista?
Deve estar faltando fazer o cast deles…
Eu criei uma classe ClienteTO, que seria minha classe que fica os getters e setters, ai criei uma DAO, uma Service e uma classe teste que eh onde contem o metodo Main.
A main acessa a Service, que acessa a DAO, que conecta no banco e cria uma Collection de objetos do tipo ClienteTO, a DAO retorna essa Collection para a Service que por sua vez retorna a Collection para a Main. Estou tentando imprimir a Collection utilizando o Iterator, mas esta vindo todos os campos como null…
Não sei utilizar o Iterator direito, estou comesando a mexer com ele agora, por isso estou achando que eh nele que esta o erro…
Collection lista = new ArrayList();
Iterator it = null;
lista = service.consultarTodos();
it = lista.iterator();
ClienteTO to = (ClienteTO)lista;
while (it.hasNext()) {
System.out.println(to.getCodigoCliente());
it.next();
}
Aham, a sua lista é uma lista de ClienteTO? Se for, então o seu código original dá um ClassCastException na linha 5 acima. Provavelmente o que você deve fazer é:
Collection lista;
Iterator it;
ClienteTO to;
lista = service.consultarTodos();
it = lista.iterator();
while (it.hasNext()) {
to = (ClienteTo) it.next();
System.out.println(to.getCodigoCliente());
}
O mesmo código pode ser reescrito como:
for (Iterator it = service.consultarTodos().iterator(); it.hasNext(); ) {
ClienteTo to = (ClienteTo) it.next();
System.out.println(to.getCodigoCliente());
}
valew thingol, implementei com o for e o while e deu certo com os dois…
Abração, obrigado