在下面的示例中
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
我不能用 (Integer)
演 -128
但我可以用 (int) -128
。
我一直认为 -128
是 int
类型和铸造它与 (int)
应该是多余的。
The error on the line with i3
is
cannot find symbol variable Integer
我在 Java6更新29和 Java7更新1中尝试了这种方法。
编辑: 使用 +128
而不是 -128
得到相同的行为。这似乎是一元运算符和二元运算符之间的混淆。