ArrayUtils { public static byte[] trimLeadingZeroes(byte[] bytes) { return trimLeadingBytes(bytes, (byte) 0); }  static byte[] reverseArray(byte[] array); static byte[] concatenate(byte[] a, byte b); static byte[] concatenate(byte a, byte[] b); static byte[] concatenate(byte[]... arrays); static byte[] concatenate(byte[] a, byte[] b); static byte[] getFirstNBytes(byte[] array, int nBytes); static byte[] getLastNBytes(byte[] array, int nBytes); static byte[] xor(byte[] array1, byte[] array2); static byte[] trimLeadingBytes(byte[] bytes, byte b); static byte[] trimLeadingZeroes(byte[] bytes); static byte[] trimTrailingBytes(byte[] bytes, byte b); static byte[] toPrimitive(final Byte[] array); static byte[] toByteArray(int v); static byte[] toByteArray(long v);  }
@Test public void testTrimLeadingZeroes() { assertThat(trimLeadingZeroes(new byte[]{}), CoreMatchers.is(new byte[]{})); assertThat(trimLeadingZeroes(new byte[]{0}), CoreMatchers.is(new byte[]{0})); assertThat(trimLeadingZeroes(new byte[]{1}), CoreMatchers.is(new byte[]{1})); assertThat(trimLeadingZeroes(new byte[]{0, 1}), CoreMatchers.is(new byte[]{1})); assertThat(trimLeadingZeroes(new byte[]{0, 0, 1}), CoreMatchers.is(new byte[]{1})); assertThat(trimLeadingZeroes(new byte[]{0, 0, 1, 0}), CoreMatchers.is(new byte[]{1, 0})); }