溫馨提示×

java arraybuffer如何轉換

小樊
117
2024-12-11 06:25:15
欄目: 編程語言

在Java中,ArrayBufferByteBuffer的一個子類,用于表示固定大小的原始字節緩沖區。要將一個ArrayBuffer轉換為其他數據類型,您需要使用相應的包裝類(如IntegerBuffer、DoubleBuffer等)。以下是一些示例:

  1. ArrayBuffer轉換為int[]數組:
import java.nio.ByteBuffer;
import java.nio.IntBuffer;

public class ArrayBufferToIntArray {
    public static void main(String[] args) {
        // 創建一個包含4個整數的ArrayBuffer
        ByteBuffer buffer = ByteBuffer.allocate(4 * Integer.BYTES);
        buffer.putInt(1);
        buffer.putInt(2);
        buffer.putInt(3);
        buffer.putInt(4);

        // 將ArrayBuffer轉換為IntBuffer
        IntBuffer intBuffer = buffer.asIntBuffer();

        // 將IntBuffer轉換為int[]數組
        int[] intArray = new int[intBuffer.remaining()];
        intBuffer.get(intArray);

        // 輸出結果
        System.out.println("intArray: " + Arrays.toString(intArray));
    }
}
  1. ArrayBuffer轉換為double[]數組:
import java.nio.ByteBuffer;
import java.nio.DoubleBuffer;

public class ArrayBufferToDoubleArray {
    public static void main(String[] args) {
        // 創建一個包含4個雙精度浮點數的ArrayBuffer
        ByteBuffer buffer = ByteBuffer.allocate(4 * Double.BYTES);
        buffer.putDouble(1.1);
        buffer.putDouble(2.2);
        buffer.putDouble(3.3);
        buffer.putDouble(4.4);

        // 將ArrayBuffer轉換為DoubleBuffer
        DoubleBuffer doubleBuffer = buffer.asDoubleBuffer();

        // 將DoubleBuffer轉換為double[]數組
        double[] doubleArray = new double[doubleBuffer.remaining()];
        doubleBuffer.get(doubleArray);

        // 輸出結果
        System.out.println("doubleArray: " + Arrays.toString(doubleArray));
    }
}

這些示例展示了如何將ArrayBuffer轉換為其他數據類型。請注意,這些示例使用了ByteBufferasIntBuffer()asDoubleBuffer()方法來創建相應的包裝緩沖區。然后,您可以使用包裝緩沖區的remaining()get()方法將數據復制到目標數組中。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女