|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre actif
![]() Inscription : mars 2002 Messages : 324 ![]() |
Un collègue vient de me montrer un truc très bizarre dans un code qu'il a fait et ça m'intrigue beaucoup.
Dans la certification que j'ai passé il n'y a pas très longtemps, ils insistaient bien sur le fait qu'aucune information sur les generics ne se retrouvait dans le bytecode compilé, et que par conséquent, on ne pouvait pas retrouver le type des éléments contenus dans une collection générique AU RUNTIME. Pourtant, si j'ai une classe du style: Code :
Code :
__________________
Sébastien ARBOGAST SCJP |
||||
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Inscription : juin 2003 Messages : 292 ![]() |
oui c est bizarre, mais la recuperation de ces generiques ne se fait qu en reflection donc forcement ces informations sont quelque part dans le bytecode, mais ou et comment?
|
|
|
00
|
|
|
#3 | ||||
![]() ![]() Développeur Java/Web Inscription : avril 2002 Messages : 12 460 ![]() |
Salut,
C'est tout à fait normal ! Les fichiers *.class compilés contiennent bien des informations sur les Generics, notamment afin de permettre aux compilateurs de les utiliser sans qu'il ne leurs soit nécessaire d'avoir leurs codes sources... Mais tu ne peux avoir que les informations relatives au type et non pas celles qui sont lié à une instance. Par exemple si tu as : Code :
Par contre si tu as : Code :
Je ne sais pas si je suis clair... a++
__________________
adiGuba [ tutoriels | blog | twitter ] Rédacteur/Modérateur Java |
||||
|
00
|
|
|
#4 |
|
Membre actif
![]() Inscription : mars 2002 Messages : 324 ![]() |
Tu es parfaitement clair! Voilà qui éclaire ma lanterne. Ca m'apprendra à modérer mes propos quand un collègue vient me demander si c'est possible...
Merci beaucoup.
__________________
Sébastien ARBOGAST SCJP |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com