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);
}
希望对您有所帮助。
我想将 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);
}
希望对您有所帮助。