次の例では
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 update 29とJava 7 update 1でこれを試しました。
編集:の+128
代わりにと同じ動作をします-128
。単項演算子と二項演算子の混同のようです。
Integer i3 = (Integer) (-128);
従います。
Expression expected
どこにあるのでしょうかInteger
。
Integer i = -128;
ただし、これはコンパイルする必要があります。