>Java >java지도 시간 >Java에서 Long을 바이트 배열로 변환하고 다시 변환하는 방법은 무엇입니까?

Java에서 Long을 바이트 배열로 변환하고 다시 변환하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-04 21:27:02842검색

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

Long을 바이트 배열로 변환하고 Java에서 다시 변환

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으로 문의하세요.