| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2010 17:36:50
|
bestlinux
JavaEvangelist
![[Avatar]](/images/avatar/7cfe973cfd3353ecacc3ec1e53a1c5ea.jpg)
Membro desde: 30/06/2008 13:18:23
Mensagens: 359
Offline
|
Pessoal,
Preciso do seguinte.
Tenho um array de String, por exemplo:
public static void metodoConsulta(Object retorno) throws SecurityException, NoSuchFieldException
{
ArrayList<?> teste = (ArrayList<?> retorno;
Eu preciso saber o tipo de parametro que este ArrayList esta armazenando para depois fazer um instanceof. Exemplo:
if (tipo_do_parametro_do_array_list instanceof String)
...
if (tipo_do_parametro_do_array_list instanceof Integer)
...
Tem como fazer isso ?
This message was edited 3 times. Last update was at 15/09/2010 17:37:54
|
http://www.bestlinux.com.br |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2010 19:37:30
|
bestlinux
JavaEvangelist
![[Avatar]](/images/avatar/7cfe973cfd3353ecacc3ec1e53a1c5ea.jpg)
Membro desde: 30/06/2008 13:18:23
Mensagens: 359
Offline
|
Ninguem ???
|
http://www.bestlinux.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2010 20:04:45
|
entanglement
GUJ Hacker
Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline
|
A resposta simples, infelizmente, é não. Há um palavrão bem chato para isso em inglês - "generic types are not reified in Java". Procure isso se tiver alguma curiosidade.
Se você souber que o array contém elementos de apenas um tipo, no entanto, você pode verificar se o ArrayList é vazio ou não, e se não for, pegar o tipo do primeiro elemento (ou do primeiro elemento não-nulo, se você aceitar null como elemento desse ArrayList).
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/09/2010 20:32:51
|
bestlinux
JavaEvangelist
![[Avatar]](/images/avatar/7cfe973cfd3353ecacc3ec1e53a1c5ea.jpg)
Membro desde: 30/06/2008 13:18:23
Mensagens: 359
Offline
|
entanglement wrote:A resposta simples, infelizmente, é não. Há um palavrão bem chato para isso em inglês - "generic types are not reified in Java". Procure isso se tiver alguma curiosidade.
Se você souber que o array contém elementos de apenas um tipo, no entanto, você pode verificar se o ArrayList é vazio ou não, e se não for, pegar o tipo do primeiro elemento (ou do primeiro elemento não-nulo, se você aceitar null como elemento desse ArrayList).
Bom, infelizmente, o jeito de fazer isso é na base da famosa "marretada". Mas vamos la, fiz uma solução, vou deixar aqui para quem precisar algum dia:
Lembrando que funcionou apenas pq meu Array foi alimentado antes, ou seja, eu não passo nulo, tem sempre um elemento. Sendo que, o que eu realmente precisava era passar apenas o Array nulo, massss..ta resolvido.
|
|
|
 |
|
|
|
|