Java で Long をバイト配列に変換して戻す
TCP 接続経由でデータを送信する場合、long をバイト配列に変換する必要がある場合があります。バイト配列。この変換を実現するには、次のメソッドを利用できます。
<code class="java">public byte[] longToBytes(long x) { ByteBuffer buffer = ByteBuffer.allocate(Long.BYTES); buffer.putLong(x); return buffer.array(); } public long bytesToLong(byte[] bytes) { ByteBuffer buffer = ByteBuffer.allocate(Long.BYTES); buffer.put(bytes); buffer.flip(); return buffer.getLong(); }</code>
ByteBuffers の過剰な作成を避けるために、以下のようなクラスの利用を検討してください。
<code class="java">public class ByteUtils { private static ByteBuffer buffer = ByteBuffer.allocate(Long.BYTES); public static byte[] longToBytes(long x) { buffer.putLong(0, x); return buffer.array(); } public static long bytesToLong(byte[] bytes) { buffer.put(bytes, 0, bytes.length); buffer.flip(); return buffer.getLong(); } }</code>
覚えておいてください。このタスクには Guava のようなライブラリを使用することをお勧めします。ただし、ネイティブ Java ソリューションの場合、これらのメソッドは、ロング配列からバイト配列への変換を処理する信頼性の高い方法を提供します。
以上がJava で Long をバイト配列に変換して元に戻す方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。