Comment est-ce que je peux réaliser cela ?
Tout ce que j’ai essayé jusqu'à présent toujours retourne type `` plutôt que le type spécifique utilisé.
Merci beaucoup.
Comment est-ce que je peux réaliser cela ?
Tout ce que j’ai essayé jusqu'à présent toujours retourne type `` plutôt que le type spécifique utilisé.
Merci beaucoup.
J’ai vu quelque chose comme ça
dans la mise en veille prolongée GenericDataAccessObjects exemple
Les génériques ne sont pas réifiée au moment de l'exécution. Cela signifie que l'information n'est pas présent au moment de l'exécution.
Ajouter les génériques de Java alors que maintenir la compatibilité descendante a été un tour de force (vous pouvez voir l'article fondateur: Rendre l'avenir sûr pour le passé: l'ajout de genericity pour le langage de programmation Java).
Il existe une riche littérature sur le sujet, et certaines personnes sont insatisfait de l'état actuel, certains disent que c'est en fait un leurre et il n'y a pas de réel besoin d'elle. Vous pouvez lire les deux liens, je les ai trouvé très intéressant.
Génériques de Java sont pour la plupart de la compilation, ce qui signifie que les informations de type sont perdues lors de l’exécution.
est compilé en quelque chose comme
Pour obtenir les informations de type au moment de l’exécution, vous devrez l’ajouter en tant qu’argument de la ctor.
Exemple :
Bien sûr, vous pouvez.
Java n'utilise pas l'information au moment de l'exécution, pour des raisons de rétro-compatibilité. Mais l'information est réellement présent sous la forme de métadonnées et peut être consulté via la réflexion (mais il n'est pas encore utilisé pour la vérification de type).
De la officielle de l'API:
Cependant, pour votre scénario, je ne voudrais pas utiliser la réflexion. Personnellement, je suis plus enclin à utiliser pour le code de la structure. Dans votre cas, je voudrais juste ajouter le type de constructeur param.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.