Java: 将 ArrayList<Byte> 转换为 ByteBuffer

Java: convert ArrayList<Byte> to ByteBuffer

我想将 ArrayList 格式的结果数组转换为 ByteBuffer 格式。

public ByteBuffer createDNSClientQuestion() {
    ArrayList<Byte> result = new ArrayList<Byte>(QNAME);


    result.add((byte) 0);
    result.add((byte) QTYPE);
    result.add((byte) 0);
    result.add((byte) 1);


    //here, I want to convert result ArrayList to ByteBuffer form and return it. 
}

任何帮助将不胜感激!谢谢!

创建ByteBuffer不需要临时List,直接将字节放入ByteBuffer即可。不过,如果您想采用 List 方式,可以按照以下方法进行操作。

    ArrayList<Byte> result = new ArrayList<Byte>();


    result.add((byte) 0);
    result.add((byte) 2);
    result.add((byte) 0);
    result.add((byte) 1);

    ByteBuffer buffer = ByteBuffer.allocate(result.size());
    for(Byte byt : result) {
        buffer.put(byt);
    }

希望对您有所帮助。