Guillaume Desnoix wrote:
Dominique Gallot:
Faux,
Mai sis, mais si j'ai raison :))
Cette notion n'est qu'un short - cut vers Class.forName()
Que le compilateur fait !
On regarde le bytecode et on constate.
1) javac et jikes generent le meme bytecode.
Faux, à partir de la version
??? C'est pas ce que j'ai dit ?
Integer.class === Class.forName(java.lang.Integer). ( bon à l'exception
pres )
Donc java.lang.Integer.class crée une method static ( le compilo decide de
cela tout seul ) qui fait un Class.forName
Puis change l'exception en NoClassDefFoundError qui descend
Donc c'est bien le compilo qui genere un Class.forName .. et
ajoute un changement de type d'exeception !
Je suis à l'origine de cette phrase :-)
Je n'était pas trop rentré dans les détails car c'était une digression d'un
problème de tableau.
Je trouve que X.class est bien plus propre que
Ben chez moi jdk1.3.1
public class Untitled1
{
static {
Class cl2 = Integer.class;
Class cl1 = Integer[].class;
}
}
Donne exactement la meme chose ( au type pres ! bien sur )
Voir ici la decompilation avec jad ! Attention c'est le compilateur de
JBuilder qui est utilisé !
Quelle est donc cette subtile différence d'initialisation ?
Voir mon mail precedant ! Avec caching via une variable static cachée !
Dominique
|-+-
| | Erik Mazoyer |
| | erik.mazoyer@hype|
| |
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.
Guillaume Desnoix wrote:
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
Bonjour,
Les caractères accentués n'apparaissent pas dans l'éditeur d'eclipse
(linux), avez-vous déjà rencontré ce problème.
Dans jedit, les caractères accentués apparaissent.
Merci d'avance pour vos réponses.
Mathieu