Schauen wir uns die folgenden Ausdrücke in Java an.
int temp = -254;
Integer temp2 = (Integer) temp; // compiles because of autoboxing
Integer temp3 = (Integer) -254; // doesn't compile - illegal start of type.
Integer temp4 = (Integer) 10-254; // compiles
Integer temp5 = (Integer) (int) -254; // compiles
Integer temp6 = -254; // compiles
Integer temp7 = (int) -254; // compiles
Warum sind in den obigen Ausdrücken diese Ausdrücke (Integer) 10-254
y (int) -254
gültig ist, während der Ausdruck (Integer) -254
lässt sich nicht kompilieren, obwohl die Konstante -254
kann perfekt ausgewertet werden zu Integer
?