Tô querendo fazer uso de Generics em um projeto pessoal.
Meu problema se consiste em descobrir o tipo de um objeto List tipado.
Por exemplo: se o meu construtor receber um List, gostaria de saber que recebeu uma lista que contém objetos “Aluno”. Se receber um List, gostaria que fosse informado que há como parâmetro do construtor uma lista que contenha objetos do tipo “String”, e assim por diante.
Há algum modo de descobrir isso, mesmo se a lista estiver vazia?
Valeu, abraços, fiquem com Deus!
Se utiliza uma IDE como o eclipse, ele já mostra isso pra vc no momento que estiver usando o construtor, além de não deixar passar um objeto que não seja String ou Aluno.
Vc poderia fazer comentários javaDoc.
Não sei se era isso que queria saber, não entendi bem sua duvida.
se entendi sua duvida, isso nao eh possivel. procure por bizzarregenericdao no google que vc vai ver um post explicando um jeito de driblar e conseguir pegar o generictype, mas acho que seu caso nao sera possivel mesmo assim.
[quote=Fexx]Se utiliza uma IDE como o eclipse, ele já mostra isso pra vc no momento que estiver usando o construtor, além de não deixar passar um objeto que não seja String ou Aluno.
Vc poderia fazer comentários javaDoc.
Não sei se era isso que queria saber, não entendi bem sua duvida.
Boa sorte.
Abraços.
E fique com DEUS também.[/quote]
Opa, Fexx, belê?
É, você não entendeu a essência da ideia. Pensa comigo: você passa uma coleção para um método e esse método tem de devolver qual o tipo dessa coleção. Pode ser um inteiro, um String, um double, um boolean, como pode ser uma classe criada por você. Independente do que for, eu quero que encontrar qual é o tipo dessa coleção, algo como:
[code]List colecaoStrings = new ArrayList();
List colecaoAlunos = new ArrayList();
List colecaoBooleanos = new ArrayList();
List colecaoProdutos = new ArrayList();
Class classe;
classe = recuperarTipoDaColecao(colecaoStrings); // me retorna String.class;
classe = recuperarTipoDaColecao(colecaoProdutos); // me retorna Produto.class;
classe = recuperarTipoDaColecao(colecaoAlunos); // me retorna Aluno.class;
classe = recuperarTipoDaColecao(colecaoBooleanos); // me retorna Boolean.class;
[/code]
Entendeu a ideia?
Abraços!
[quote=Nicolas Fernandes][quote=Fexx]Se utiliza uma IDE como o eclipse, ele já mostra isso pra vc no momento que estiver usando o construtor, além de não deixar passar um objeto que não seja String ou Aluno.
Vc poderia fazer comentários javaDoc.
Não sei se era isso que queria saber, não entendi bem sua duvida.
Boa sorte.
Abraços.
E fique com DEUS também.[/quote]
Opa, Fexx, belê?
É, você não entendeu a essência da ideia. Pensa comigo: você passa uma coleção para um método e esse método tem de devolver qual o tipo dessa coleção. Pode ser um inteiro, um String, um double, um boolean, como pode ser uma classe criada por você. Independente do que for, eu quero que encontrar qual é o tipo dessa coleção, algo como:
[code]List colecaoStrings = new ArrayList();
List colecaoAlunos = new ArrayList();
List colecaoBooleanos = new ArrayList();
List colecaoProdutos = new ArrayList();
Class classe;
classe = recuperarTipoDaColecao(colecaoStrings); // me retorna String.class;
classe = recuperarTipoDaColecao(colecaoProdutos); // me retorna Produto.class;
classe = recuperarTipoDaColecao(colecaoAlunos); // me retorna Aluno.class;
classe = recuperarTipoDaColecao(colecaoBooleanos); // me retorna Boolean.class;
[/code]
Entendeu a ideia?
Abraços![/quote]
[quote=mauricioadl]se entendi sua duvida, isso nao eh possivel. procure por bizzarregenericdao no google que vc vai ver um post explicando um jeito de driblar e conseguir pegar o generictype, mas acho que seu caso nao sera possivel mesmo assim.
[]'s[/quote]
Falaê, mauricioadl!
Valeu, pesquisei aqui e vou dar uma entendida melhor sobre o assunto.
Talvez não tenha como fazer mesmo, à primeira vista, mas eu vou tentando e, caso consiga, posto aqui.
[quote=Nicolas Fernandes][quote=mauricioadl]se entendi sua duvida, isso nao eh possivel. procure por bizzarregenericdao no google que vc vai ver um post explicando um jeito de driblar e conseguir pegar o generictype, mas acho que seu caso nao sera possivel mesmo assim.
[]'s[/quote]
Falaê, mauricioadl!
Valeu, pesquisei aqui e vou dar uma entendida melhor sobre o assunto.
Talvez não tenha como fazer mesmo, à primeira vista, mas eu vou tentando e, caso consiga, posto aqui.
Valeu, gente, Deus abençoe![/quote]
no endereço que o amigo de cima colocou tem uma postagem de um cara da caelum que aponta para o link que te falei. se conseguir alguma adaptação tecnica, mais conhecida como gambiarra, poe ae pra nos.