Compare duas matrizes de primitivas em Jav

Eu sei sobre Arrays.deepEquals (Object [], Object []), mas isso não funciona para tipos primitivos (devido a limitações de matrizes e caixa automática, consulte este post relacionado).

Com isso em mente, essa é a abordagem mais eficiente?

boolean byteArrayEquals(byte[] a, byte[] b) {
    if (a == null && b == null)
        return true;

    if (a == null || b == null)
        return false;

    if (a.length != b.length)
        return false;

    for (int i = 0; i < a.length; i++) {
        if (a[i] != b[i])
            return false;
    }
    return true;
}

questionAnswers(3)

yourAnswerToTheQuestion