Heim >Java >javaLernprogramm >Wie konvertiert man Long in Java in ein Byte-Array und zurück?

Wie konvertiert man Long in Java in ein Byte-Array und zurück?

Linda Hamilton
Linda HamiltonOriginal
2024-11-04 21:27:02841Durchsuche

How to Convert Long to Byte Array and Back in Java?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn