首頁  >  文章  >  Java  >  如何在 Java 中將 Long 轉換為位元組數組並返回?

如何在 Java 中將 Long 轉換為位元組數組並返回?

Linda Hamilton
Linda Hamilton原創
2024-11-04 21:27:02799瀏覽

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

在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>

為了避免過度建立ByteBuffer,請考慮使用如下所示的類別:

<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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn