我刚刚得到以下编译器错误:
./package/path/FrameScreenPosition.java:80: incompatible types
found : int
required: boolean
if (frame.getExtendedState() & Frame.MAXIMIZED_BOTH) {
^
Run Code Online (Sandbox Code Playgroud)
"扩展状态"是各种不同状态的按位掩码,例如最大化或图标化,我试图测试帧是否最大化.以下简短示例产生类似的错误:
public class BitTest
{
public static void main(String[] args)
{
int a = 1;
int c = 3;
if (a & c) {
System.out.println("This is right.");
}
}
}
Run Code Online (Sandbox Code Playgroud)
我所看到的一切都表明,按位运算符&不限于Java中的布尔变量,为什么我会收到错误消息?
ars*_*jii 14
内部表达式if 必须显式为布尔值(即,boolean或者Boolean- 有关更多详细信息,请参阅JLS§14.9):
if ((a & c) != 0) {
Run Code Online (Sandbox Code Playgroud)
另请注意,此处需要第二组括号,因为!=它具有更高的优先级&.
| 归档时间: |
|
| 查看次数: |
495 次 |
| 最近记录: |