Utilização da API Reflect com tipos genericos

O sistema que eu estou desenvolvendo precisa pegar alguns objetos que ficam guardados na sessão. Eu criei o seguinte método para recuperá-los:

[code]
public static T pegaObjetoSessao(HttpServletRequest request, String nomeAtributo, Class classeCast) {

Object objeto = request.getSession().getAttribute(nomeAtributo);
T objetoCasteado = classeCast.cast(objeto); 

return objetoCasteado;

}[/code]

Eu decidi criar um método pois quando o cast é para lista tipadas eu recebo um warning. A minha idéia era centralizar essa operação para receber apenas um warning, pois se não consigo eliminá-lo, ao menos reduzo o número de incidências para um. O problema é que não sei como expressar isso. Por exemplo, se quero passar para o método uma classe Aluno, eu passo Aluno.class. Mas se quiser passar uma lista de Alunos? Tentei List.class, mas não dá. :frowning:

Alguém sabe?

abraços!

vc nao consegue saber o tipo generica da coleção isso eh perdido depois que vira bytecode…

logo vc nao consegue fazer

lista.getGeneric();

vc sabe que eh um arraylist

mas nao sabe que eh um arraylist

Caramba, que frustração… isso seria útil demais… :frowning:
Estou triste, hehehe… mas valeu pela informação!

abraços,

Bonfa para tirar os warnnins que você falou basta usar a anotação

@SuppressWarnings

no seu caso
@SuppressWarnings(“unchecked”)
não precisa implementar esse metodo, se seu problema for só evitar os warnings

embora se você faz esse tipo de operação varias vezes então é sábio centraliza-lo em um metodo

[]s

O que eu quero é justamente evitar essa anotação. E vou fazer isso mesmo que você falou, centralizar em um método. :slight_smile:

abraços!