Conversao de List para um tipo especifico

5 respostas
gono

Tenho um metodo (loadAllUsers) q me retorna uma List cheia de Usuario e eu quero converter essa Lista pra List

List usuarios = loadAllUsers();

for(Usuario usuario:usuarios){

System.out.println(usuario.getNome());

}

Esse codigo funciona, porem gera um warning na 1a linha

Type safety: The expression of type List needs unchecked conversion to
conform to List

Alguem pode me ajudar ?

5 Respostas

dsiviotti

Transforme

List loadAllUsers()

em

List<Usuario> loadAllUsers()
gono

Na assinatura do metodo ??
Eu tentei tb…gerava outro warning

Type safety: The expression of type List needs unchecked conversion to 
 conform to...

Ae eu resolvi de outra forma

Collection usuarios = loadAllUsers();
for (Object usuario : usuarios) {
System.out.println(((Usuario)usuario).getNome());
}

– Mudei pra Collection, mas com List ficaria igual –

Fica muito porco assim ??

Valeu pela ajuda ae!

pcalcado

Sim e não.

O que você fez foi tirar a parametrização da classe, é uma prática normal em Java 2, ams em Java 5 é porco.

Quando você mudou seu método para List<Usuario> loadAllUsers() , você deveria ter mudado a List que isntancia dentro dele. Coloque o corpo do método aqui para te mostrar.

SHoes

gono

O problema é q nesse meu metodo loadAllUsers eu chamo um metodo find() de classes de terceiros, nao tenho acesso a elas…e esse metodo me retorna um List/Collection.
Alguma sugestao ?

pcalcado:
Sim e não.

O que você fez foi tirar a parametrização da classe, é uma prática normal em Java 2, ams em Java 5 é porco.

Quando você mudou seu método para List loadAllUsers() , você deveria ter mudado a List que isntancia dentro dele. Coloque o corpo do método aqui para te mostrar.

SHoes

pcalcado

Sim e não :slight_smile:

Se sua lista for pequena, você pdoe converter dentro do seu método de List para List<usuario> , isso não custaria muito na maioria dos sistemas.

Criado 31 de maio de 2005
Ultima resposta 31 de mai. de 2005
Respostas 5
Participantes 3