Java Byte[]配列を比較するにはどうすればいいですか? 質問する

Java Byte[]配列を比較するにはどうすればいいですか? 質問する
public class ByteArr {

    public static void main(String[] args){
        Byte[] a = {(byte)0x03, (byte)0x00, (byte)0x00, (byte)0x00};
        Byte[] b = {(byte)0x03, (byte)0x00, (byte)0x00, (byte)0x00};
        byte[] aa = {(byte)0x03, (byte)0x00, (byte)0x00, (byte)0x00};
        byte[] bb = {(byte)0x03, (byte)0x00, (byte)0x00, (byte)0x00};

        System.out.println(a);
        System.out.println(b);
        System.out.println(a == b);
        System.out.println(a.equals(b));

        System.out.println(aa);
        System.out.println(bb);
        System.out.println(aa == bb);
        System.out.println(aa.equals(bb));
    }
}

なぜすべてが偽と印刷されるのか分かりません。

「java ByteArray」を実行すると、答えは「false false false false」になります。

a[] は b[] に等しいと思うのですが、JVM は間違っていると言っています。なぜでしょうか?

ベストアンサー1

Arrays.equals()プリミティブ型の値 (バイトなど) を含む配列の実際の内容を比較する場合に使用します。

System.out.println(Arrays.equals(aa, bb));

Arrays.deepEqualsオブジェクトを含む配列の比較に使用します。

おすすめ記事