如何在Java中使用字节和数组?

如何在Java中使用字节和数组?,java,arrays,byte,bit-manipulation,bitwise-and,Java,Arrays,Byte,Bit Manipulation,Bitwise And,所以我想知道在Java中是否/如何在字节数组上使用AND操作 我已经看到了如何在INT中使用AND操作的示例,如下所示: int bitmask = 0x000F; int val = 0x2222; // prints "2" System.out.println(val & bitmask); 但是假设我有一个字节数组,比如 byte[] byteArray = new byte[1]; 我想和它合并,这样我就可以删除数组中最左边的/第一个位。我想我应该使用掩码0x7F,但是我

所以我想知道在Java中是否/如何在字节数组上使用AND操作

我已经看到了如何在INT中使用AND操作的示例,如下所示:

int bitmask = 0x000F;
int val = 0x2222;

// prints "2"
System.out.println(val & bitmask);
但是假设我有一个字节数组,比如

byte[] byteArray = new byte[1];
我想和它合并,这样我就可以删除数组中最左边的/第一个位。我想我应该使用掩码
0x7F
,但是我如何使用字节数组来实现它呢?

这个方法可以实现,它只是
&

这是他们展示的掩蔽演示:

class BitDemo {
    public static void main(String[] args) {
        int bitmask = 0x000F;
        int val = 0x2222;
        // prints "2"
        System.out.println(val & bitmask);
    }
}
我想对其进行排序,以便删除数组中最左边的/第一个位

我想remove的意思是unset,因为不能删除第一位。它将永远在那里。如果我是对的,你可以这样做:

    byteArray[0] &= 127;

您不能将其作为一个整体来使用,但您可以逐个使用:
byteArray[0]&=0x7F