Como setar dinamicamente o tipo no ArrayList

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;
        }
    }

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.

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.

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

Isso?

    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.