Avatar ·

Comment obtenir un objet Class pour un paramètre de type T en Java ?

Bonjour à tous ! Je code en Java depuis peu et j'ai rencontré un problème avec les génériques. J'ai une classe générique et j'ai besoin d'obtenir une instance de Class pour le paramètre de type T à l'intérieur. Par exemple, je veux créer une instance de T via la réflexion ou la passer à une méthode qui nécessite Class. Voici un exemple de code qui ne fonctionne pas : ```java public class MyGenericClass { public void doSomething() { // Ici, je veux obtenir Class, mais je ne sais pas comment Class clazz = T.class; // Erreur de compilation ! // Ensuite, je veux, par exemple, créer une nouvelle instance de T T instance = clazz.newInstance(); } } ``` Le compilateur se plaint : "Cannot select from a type variable". Je comprends qu'à cause de l'effacement de type (type erasure), l'information sur T est perdue à l'exécution. Mais comment faire alors ? J'ai vu que dans certains frameworks (par exemple, Gson ou Spring), ils obtiennent des classes pour les types. Peut-être existe-t-il un motif (pattern) ou une solution de contournement ?