Recuperer un type generique par intraspection. - Java - Programmation
Marsh Posté le 23-11-2005 à 17:57:51
Si si c'est surement possible :
Code :
|
Je suis pas loin la.
Marsh Posté le 23-11-2005 à 17:59:45
Si tu utilise javap, tu as quoi ?
Marsh Posté le 23-11-2005 à 18:01:41
Rien, je pensais que c'était possible sans desassemblage.
Marsh Posté le 23-11-2005 à 18:03:51
non spa possible, les generics ne sont que dans les sources, et utilisés pour faire du type checking à la compilation. une fois compilé, y'a que des Object, rien d'autre
Marsh Posté le 23-11-2005 à 18:08:24
Pas moyen de bidouiller ?
Code :
|
run-single:
++>java.util.ArrayList<java.lang.String>
++>java.util.ArrayList<java.lang.Double>
------->java.util.ArrayList<java.lang.Double>
java.lang.ClassNotFoundException: java.util.ArrayList<java.lang.Double>
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at projet_bda.Test.main(Test.java:36)
Edit : LoL oué c'est mort en fait.
Marsh Posté le 23-11-2005 à 20:07:14
bah oui si on te le dis ....
(enfin je dis ca, j'en ai pris conscience avant hier en faisant joujou avec quoi )
Marsh Posté le 24-11-2005 à 15:08:20
Code :
|
Citation : ++>java.util.ArrayList<java.lang.String> |
Marsh Posté le 24-11-2005 à 18:52:28
Bein oui ... merci.
J'étais pas loin ... effectivement.
Marsh Posté le 23-11-2005 à 17:16:19
Salut,
En supposant que j'ai dans ma classe un attribut de type ArrayList<QuelqueChose>, est-il possible de récuperer le .class de ce QuelqueChose par intraspection ou un autre moyen ?
---------------
Scheme is a programmable programming language ! I heard it through the grapevine !