4 Stimmen

Compiler-Fehler beim Typ-Casting in Java

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 ?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X