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.