Class Model<T>{
private T t;
.....
private void someMethod(){
//now t is null
Class c = t.getClass();
}
.....
}
Bien sûr, il lance NPE.Comment obtenir la classe générique
Class c = t.getClass();
Quelle syntaxe dois-je utiliser pour obtenir la classe de T si mon exemple est nul? Est-ce possible?
Si votre instance est null, comment t aurait un type de classe? – froadie
Ce n'est pas possible, au meilleur de ma connaissance. Rappelez-vous, les génériques sont à la compilation, pas à l'exécution. Une façon plus courante de gérer cela serait de stocker un objet Class qui garde la classe (si vous en avez vraiment besoin). – Kylar
A d'accord avec, Kylar et froadie: vous devez ajouter un contrôle supplémentaire pour la valeur non nulle pour "t". –