Class.forname para objetos genéricos

1 resposta
LuizAvila

Galera;

tenho um método que recebe um parâmetro do tipo TreeSet<String>

em uma ocasião preciso criar o

TreeSet<String> ts = new TreeSet<String>();

só que via reflexão.

Class cl = class.forName(“TreeSet<String>”);

Só que não tá dando certo isso, alguem tem alguma luz pra isso? Isso realmente funciona?

Valeu

1 Resposta

T
import java.util.*;

class TesteClassForname {
    @SuppressWarnings ("unchecked")
    public static void main(String[] args) {
        // versão sem reflection
        Set&lt;String&gt; nomes = new TreeSet&lt;String&gt;();
        try {
            // versão com reflection
            Class&lt;?&gt; treeSetClass = Class.forName ("java.util.TreeSet");
            Set&lt;String&gt; enderecos = treeSetClass.asSubclass(Set.class).newInstance(); // [unchecked]
        } catch (ClassNotFoundException ex) {
        } catch (InstantiationException ex) {
        } catch (IllegalAccessException ex) {
        }
    }
}
Criado 18 de abril de 2006
Ultima resposta 18 de abr. de 2006
Respostas 1
Participantes 2