### Question:
BytesUtil { public static void long2bytes(long value, byte[] bytes, int off) { bytes[off + 7] = (byte) value; bytes[off + 6] = (byte) (value >>> 8); bytes[off + 5] = (byte) (value >>> 16); bytes[off + 4] = (byte) (value >>> 24); bytes[off + 3] = (byte) (value >>> 32); bytes[off + 2] = (byte) (value >>> 40); bytes[off + 1] = (byte) (value >>> 48); bytes[off] = (byte) (value >>> 56); }  static void long2bytes(long value, byte[] bytes, int off); static long bytes2long(byte[] bytes, int off); static void int2bytes(int value, byte[] bytes, int off); static int bytes2int(byte[] bytes, int off); static void short2bytes(short value, byte[] bytes, int off); static short bytes2short(byte[] b, int off); static boolean bytesEquals(byte[] bytes1, byte[] bytes2);  }### Answer:
@Test public void testLong2bytes() { byte[] data = new byte[8]; BytesUtil.long2bytes(12L, data, 0); long value = BytesUtil.bytes2long(data, 0); Assert.assertTrue(value == 12L); }