0

我正在做一个在 Java 中使用按位运算符的应用程序。我遇到的问题可以在这段代码中看到:

// Downcasting
int i1 = 0x000000FF;
short s1 = (short) i1; // s1 = 0x00FF
byte b1 = (byte) s1; // b1 = 0xFF

// Upcasting
short s2 = b1; // s2 = 0xFFFF
int i2 = s2; // i2 = 0xFFFFFFFF

如您所见,由于 Java 中已签名的基本类型,我在向上转换时得到了符号扩展。实际上我可以解决这个问题,但我需要一些方法来在进行自动上传时得到警告。

作为附加信息,我使用的是 Eclipse Kepler 和 Java 7。

4

1 回答 1

0

我认为默认编译器实现是不可能的。您需要自己实现它并创建一个编译器来添加这种检查。

于 2013-10-15T04:16:13.727 回答