guava/src/com/google/common/primitives/Longs.java
public static byte[] toByteArray(long value) {
    // Note that this code needs to stay compatible with GWT, which has known
    // bugs when narrowing byte casts of long values occur.
    byte[] result = new byte[8];
    for (int i = 7; i >= 0; i--) {
      result[i] = (byte) (value & 0xffL);
      value >>= 8;
    }
    return result;
  }
public static byte[] toByteArray(long value) {
    // Note that this code needs to stay compatible with GWT, which has known
    // bugs when narrowing byte casts of long values occur.
    byte[] result = new byte[8];
    for (int i = 7; i >= 0; i--) {
      result[i] = (byte) (value & 0xffL);
      value >>= 8;
    }
    return result;
  }
public static byte [ ] toByteArray ( long value ) { // Note that this code needs to stay compatible with GWT, which has known // bugs when narrowing byte casts of long values occur. byte [ ] result = new byte [ 8 ] ; for ( int i = 7 ; i >= 0 ; i -- ) { result [ i ] = ( byte ) ( value & 0xff L ) ; value >>= 8 ; } return result ; }
Returns a big-endian representation of {@code value} in an 8-element byte array; equivalent to
{@code ByteBuffer.allocate(8).putLong(value).array()}. For example, the input value {@code
0x1213141516171819L} would yield the byte array {@code {0x12, 0x13, 0x14, 0x15, 0x16, 0x17,
0x18, 0x19}}.

<p>If you need to convert and concatenate several values (possibly even of different types),
use a shared {@link java.nio.ByteBuffer} instance, or use {@link
com.google.common.io.ByteStreams#newDataOutput()} to get a growable buffer.
Returns a big - endian representation of { @code value } in an 8 - element byte array ; equivalent to { @code ByteBuffer . allocate ( 8 ) . putLong ( value ) . array () } . For example the input value { @code 0x1213141516171819L } would yield the byte array { @code { 0x12 0x13 0x14 0x15 0x16 0x17 0x18 0x19 }} .