다음 예에서
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
나는 캐스팅 수 없습니다 -128
로 (Integer)
하지만 난 캐스트 할 수 있습니다 (int) -128
.
난 항상 생각 -128
이었다 int
종류와 함께 캐스팅하는 것은 (int)
중복해야합니다.
줄의 오류 i3
는
cannot find symbol variable Integer
Java 6 업데이트 29 및 Java 7 업데이트 1에서 이것을 시도했습니다.
편집 : +128
대신 -128
. 단항 연산자와 이항 연산자 사이의 혼동으로 보입니다.
Integer i3 = (Integer) (-128);
하지만 준수합니다.
Expression expected
어디에 Integer
있습니다.
Integer i = -128;
그래도 컴파일되어야합니다.