J'ai une classe paramétrée: appelant: p> alors comment puis-je obtenir le type actuel de t code> à l'aide des génériques Java? p> p>
4 Réponses :
Vous pouvez utiliser ce truc dans votre constructeur: (voir http://www.hibernate.org/328 .html ) Mais je crois que ce code ne fonctionne que lorsque la classe est sous-classée et une instance de la sous-classe l'exécute. P> P> P >
Je connais ce truc et j'utilise sur les classes Dao. Mais ce n'est pas ce que je cherche. Pour utiliser ce truc, je suppose que nous devons définir la valeur réelle du type générique de la classe mère sur Sourcecode. GenericDao
Si vous voulez dire seulement de l'objet lui-même, vous ne pouvez pas. Erasure de type EM> signifie que les informations sont perdues. P>
Si vous avez un champ em> qui utilise le type paramétré avec un argument de type en béton, que les informations em> sont conservées. P>
Voir FAQ des génériques de Langer Angelika Langer , et en particulier le Section sur Type Erasure . P>
Cela peut être fait, mais Effacement peut le rendre très difficile. Comme les autres réponses discutent, vous devez soit faire une sous-classe de Ce que je recommande dans ces circonstances, est de contourner le problème comme celui-ci: p> en raison de la conclusion de type de Java pour des méthodes statiques , vous pouvez construire votre classe sans trop de cuillère supplémentaire: p> de cette façon, votre EDIT STRY>: Adressé le commentaire P> P> paramétré.caplass Ajout d'un champ de type
T code> à
paramétriceClass code> et le code de réflexion Vous devez le faire est compliqué.
paramétrice code> est entièrement générique et tamis-coffre-fort, et vous avoir accès à l'objet de la classe. p>
Il est i> b> possible. Cette réponse est fausse. Vérifiez l'autre réponse qui a la solution.
@Adamarold Je ne le savais pas encore à l'époque où j'ai écrit la réponse, mais vous avez raison. Je ne le recommande toujours pas, cependant. J'ai mis à jour ma réponse en conséquence.
Il s'agit d'un sujet surtout problématique, car cela ne fonctionne que dans certaines conditions telles que prévu (de manière appropriée dans des scénarios complexes). P>
mais xebia a publié un Bon article sur le tout. P>