Je me corrige: tout le monde a raison ;-)
J'avais fait mes tests sur Integer.class et non Integer[].class. La
difference entre jikes et javac/jbc porte sur les tableaux.
La classe des composants du tableau n'est pas initialisee avec jikes, ce
qui est logique et correct, comme l'a dit Remi. Bogue javac/jbc.
Mais vu le bytecode genere, je commence a me dire que la construction
.class n'est franchement pas terrible. Malgre l'allocation, new
X[0].getClass() me semble plus 'propre' (new X[0] pourrait etre une
constante publique). Avec un tel code, le bytecode est identique avec
les 3 compilos, le comportement est correct, c'est plus sur et ca me
semble meme plus performant (si constante). Y'a du reusinage dans l'air.
Guillaume
- X.class vs Class.forName("X") Erik Mazoyer
- Re: X.class vs Class.forName("X") Dominique Gallot
- Re: X.class vs Class.forName("X") Guillaume Desnoix
- Re: X.class vs Class.forName("X") Remi Forax
