Array + Reflaction = Duvida

5 respostas
Mikhas

Ahe galera da paz!

Estou fazendo algumas brincadeiras com reflection e queria saber com eu descubro o tipo de um array. Como é???

Por exemplo, eu tenho a classe Sring[], um array unidimensional de strings, eu posso usar o metodo java.lang.Class.isArray() para descobrir se é um array. Oque eu posso usar para descobrir que essa classe é um Array de Strings?

5 Respostas

felixfabiano

Olá Mikhas,

Você pode usar o instanceof:

while(…) {

if (tipo instanceof OTipoQueVoceQuer) {

…

} else {

…

}

}
Giulliano

use:

String [] a = new String[10];
        if(a instanceof Object[]){
            System.out.println("tipo array");
        }
Marky.Vasconcelos

getType não resolve?

gomesrod

Pelo que entendi, o que você precisa é do método Class.getComponentType()

Um exemplo:String[] array = {"a", "b", "c"}; Class classeDoArray = array.getClass(); Class classeDosElementosDoArray = classeDoArray.getComponentType(); System.out.println(classeDosElementosDoArray.getName());

Mikhas

gomesrod:
Pelo que entendi, o que você precisa é do método Class.getComponentType()

Um exemplo:String[] array = {"a", "b", "c"}; Class classeDoArray = array.getClass(); Class classeDosElementosDoArray = classeDoArray.getComponentType(); System.out.println(classeDosElementosDoArray.getName());

You got it!

Criado 19 de outubro de 2009
Ultima resposta 19 de out. de 2009
Respostas 5
Participantes 5