Convert { public static byte[] longToBytes(long val) { byte[] byteArr = new byte[8]; for(int i = 7; i >= 0; i--) { byteArr[i] = (byte)(val & 0xFF); val >>= 8; } return byteArr; }  static String bytesToHex(byte[] bytes); static byte[] strToBytes(String str); static byte[] longToBytes(long val); static boolean getNthBit(byte[] arr, int offset); static byte[] getPrefixBytes(byte[] arr);  }
@Test public void testLongToBytes() { long num = 42; byte[] bytes = Convert.longToBytes(num); assertTrue("Bad length of long byte array", bytes.length == 8); long l = ByteBuffer.wrap(bytes).getLong(); assertTrue("Conversion of non-neg long to bytes failed: l = "+l, num == l); num = -42; bytes = Convert.longToBytes(num); l = ByteBuffer.wrap(bytes).getLong(); assertTrue("Conversion of negative long to bytes failed: l = "+l, num == l); }