Dans l'exemple suivant
int i = -128;
Integer i2 = (Integer) i; // compiles
Integer i3 = (Integer) -128; /*** Doesn't compile ***/
Integer i4 = (Integer) (int) -128; // compiles
Integer i4 = -128; // compiles
Integer i5 = (int) -128; // compiles
Integer i6 = (Integer) (-128); // compiles
Integer i7 = (Integer) 0-128; // compiles
Je ne peux pas lancer -128
con (Integer)
mais je peux lancer (int) -128
.
J'ai toujours pensé -128
était de int
et le couler avec (int)
devrait être redondant.
L'erreur sur la ligne avec i3
est
cannot find symbol variable Integer
J'ai essayé ceci avec Java 6 update 29 et Java 7 update 1.
EDIT : Vous obtenez le même comportement avec +128
au lieu de -128
. Il semble qu'il y ait une confusion entre les opérateurs unaires et binaires.