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 に答える