为什么我的按位运算不能在Java中与`int`一起使用? - java

我刚得到以下编译器错误:

./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中的布尔变量,那么为什么会收到错误消息?

参考方案

if中的表达式必须显式为布尔值(即booleanBoolean-有关更多详细信息,请参见JLS §14.9):

if ((a & c) != 0) {

另请注意,此处需要第二组括号,因为!=的优先级高于&

Java中是否有一个函数可以像SUBSTRING函数一样工作,但可以用于整数? - java

java中有没有一个函数可以像SUBSTRING函数一样工作,但适用于整数。例如,用户输入为456789,我想将其分为两部分并将其放入不同的变量中。把它们分开例如,用户输入:456789前三个数字将在变量A中。最后3个数字将位于变量B中。通过= A / B;有人可以帮助我,我该怎么做,谢谢。 java参考方案 使用整数除法和模运算符:int input = …

是否有任何数据结构可以避免重复,保留顺序和随机访问 - java

以前,我正在寻找具有以下特征的数据结构。避免重复迭代顺序将与插入顺序相同在Java中,我使用LinkHashSet,在Python中,我使用OrderedDict现在,除了2个要求之外,我还有一个附加要求能够通过索引进行随机访问,这意味着我可以通过data[123]访问有没有可用的数据结构?还是我需要退回使用List? List可以完全满足第二和第三要求,但…

数组定义错误 - java

此代码有什么问题?if(a.length >= 2) int[] c = new int[]{a[0],a[1]}; return c; 它似乎一直认为上面代码的第二行是错误的,特别是int []语句(定义数组)。数组a已定义。 参考方案 变量c仅存在于if块的范围内。您可以立即使用return。if(a.length >= 2) return …

无法在Eclipse中调试条件中的最后一条语句? - java

public static void main(String args[]) { if(true) { int x= 3*44+7; //int y=1; } } 我将问题缩小为这个简单的语句,我真的不知道如何在Eclipse调试器中访问此变量。它总是在以下情况下发生:在if条件中声明变量,try-catch语句,循环等,并且偶然地是该块中的最后一个语句。为…

用Java覆盖 - java

有没有一种方法可以覆盖唯一更改为ArrayList的Java方法?例如:public void quickSortMethod(ArrayList<Integer> comparison, int start, int end) {} public void quickSortMethod(ArrayList<Double> comp…