Konvertieren von Long in Byte Array und zurück in Java
Beim Übertragen von Daten über eine TCP-Verbindung kann es erforderlich sein, ein Long in zu konvertieren ein Byte-Array. Um diese Konvertierung zu erreichen, können Sie die folgenden Methoden nutzen:
<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>
Um eine übermäßige Erstellung von ByteBuffern zu vermeiden, sollten Sie die Verwendung einer Klasse wie der folgenden in Betracht ziehen:
<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>
Denken Sie daran, dass dies häufig der Fall ist Es ist vorzuziehen, für diese Aufgabe eine Bibliothek wie Guava einzusetzen. Für native Java-Lösungen bieten diese Methoden jedoch eine zuverlässige Möglichkeit, Konvertierungen von Long-in-Byte-Arrays durchzuführen.
Das obige ist der detaillierte Inhalt vonWie konvertiert man Long in Java in ein Byte-Array und zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!