Java:将ArrayList <byte>转换为ByteBuffer

时间:2016-10-10 09:27:10

标签: java arraylist 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. 
}

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

1 个答案:

答案 0 :(得分:1)

您不需要设置临时列表来创建ByteBuffer,您可以直接将您的字节放在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);
    }

希望这有帮助。