次のコンパイラ エラーが発生しました。
./package/path/FrameScreenPosition.java:80: incompatible types
found : int
required: boolean
if (frame.getExtendedState() & Frame.MAXIMIZED_BOTH) {
^
「拡張状態」は、最大化やアイコン化などのさまざまな状態のビットごとのマスクであり、フレームが最大化されているかどうかをテストしようとしています。次の短い例では、同様のエラーが発生します。
public class BitTest
{
public static void main(String[] args)
{
int a = 1;
int c = 3;
if (a & c) {
System.out.println("This is right.");
}
}
}
私が見たすべてのことは、ビットごとの演算子&
が Java のブール変数に制限されていないことを示唆しています。なぜエラー メッセージが表示されるのでしょうか?