在java中无法从int转换为boolean

时间:2015-09-09 07:53:03

标签: java

我在使用下面的代码

时遇到了一些转换问题
int mode = 4;
if (mode & 1) {  // Getting conversion issue from this line
  x = 0;
  if (mode & 4 ) {y = -ry ;} else {y = ry;};
}

如何解决这个问题?有什么建议吗?

1 个答案:

答案 0 :(得分:4)

mode & 1被评估为int,无法转换为boolean(这是if语句表达式的预期类型。)

假设你想测试是否mode & 1 > 0,你应该写:

if ((mode & 1) > 0) // tests if the lowest bit of mode is 1

以后

if ((mode & 4) > 0) // tests if the 3rd lowest bit of mode is 1