OVH Cloud OVH Cloud

instancier dynamiquement des classes génériques

2 réponses
Avatar
Arnaud
J'aurai une petite question concernant Java 5, la généricité et
l'instanciation dynamique. Je n'arrive pas à trouver d'exemple ou de
tutorial sur le Net.

J'aimerais instancier dynamiquement des classes basées sur la généricité.
Par ex :

public class A<T>
{
private T v;

public A(T v)
{
this.v=v;
}

public void test()
{
System.out.println(v.getClass().getName());
}
}


et instancier la classe A avec quelque chose du genre Class.forName
("A").... mais pas moyen alors de spécifier T.

Je suis preneur d'un pointeur sur une solution, un tutorial, un exemple,
bref, une piste.

Merci par avance,
Arnaud.

2 réponses

Avatar
Vincent Cantin
J'aimerais instancier dynamiquement des classes basées sur la généricit?
Par ex :

public class A<T>
{
private T v;

public A(T v)
{
this.v=v;
}

public void test()
{
System.out.println(v.getClass().getName());
}
}


et instancier la classe A avec quelque chose du genre Class.forName
("A").... mais pas moyen alors de spécifier T.

Je suis preneur d'un pointeur sur une solution, un tutorial, un exemple,
bref, une piste.


La genericite ne sert qu'a controler les types de maniere statique a la
compilation, pas a l'execution.
Il est donc inutile de creer une instance de A<T> .. il faut utiliser une
instance de A, c'est tout.

Merci par avance,
Arnaud.


Avatar
Kupee
Vincent Cantin wrote:
La genericite ne sert qu'a controler les types de maniere statique a la
compilation, pas a l'execution.
Il est donc inutile de creer une instance de A<T> .. il faut utiliser une
instance de A, c'est tout.


A ce propos j'avais fait la même constatation que toi, et pourtant a
l'époque ou les generics étaient encore une extension de java en version
beta (avant les beta de Java 5) il fallait lorsqu'on compilait avec
les generics livrer un jar permettant de les supporter. Bizarre non ?