Como setar dinamicamente o tipo no ArrayList

4 respostas
Andre.flu

A minha referência lista contem o tipo que deve ser criado o ArrayList, como obter o tipo para poder sertar no ArrayList?

Por exemplo: se na chamada faço:

List<Aluno> listaAluno = null;
listaAluno = getList( listaAluno );

Coomo garantir que a lista criada é do tipo Aluno?

public static List getList( List lista ){
        if ( lista == null ){
           return new ArrayList<?>(); 
        }else{
            return lista;
        }
    }

4 Respostas

brunoonurbgyn

Não entendi muito o que você quer realmente, mas o jeito certo de se fazer é:

Fazer uma lista de genéricos da java.util.List:

public List<Object> getList(){
...
}

E na hora de pegar os elementos fazer uma conversão explícita…

...
ValorGenerico valor = (ValorGenerico) lista.get(0);
...

Posta a real dúvida aí… Espero ter ajudado.

Andre.flu

Quero criar uma lista tipada porém o tipo deve ser passado como parametro ou pelo da List enviada para avaliação.

Isto é, se a lista de parametro é do tipo aluno, quero retorna uma lista tipada do tipo aluno para não precisar fazer a conversão explícita.
E assim garantir que a lista criada só aceita objetos do tipo da lista enviada como parametro.

Marcelo_FS
public <T> List<T> getList( List<T> lista ){
	        if ( lista == null ){
	           return new ArrayList<T>(); 
	        }else{
	            return lista;
	        }
	    }

Isso?

M
public static List<Aluno> getList( List lista ){
        if ( lista == null ){
           return new ArrayList<Aluno>(); 
        }else{
            return lista;
        }
    }

Creio que seja disso que você está falando. Aqui usando Generics, você garante que somente objetos do tipo Aluno podem entrar nessa lista.

Criado 31 de dezembro de 2008
Ultima resposta 31 de dez. de 2008
Respostas 4
Participantes 4