我正在读取传递给我的字节数组(不是我的选择,但我必须以这种方式使用它)。我需要将数据获取到 LinkedBlockingQueue,并最终通过字节构建一个或多个(可能包含部分消息)xml 消息。所以我的问题是:
我应该为 LBQ 类型使用什么泛型?将 byte[] 转换为该泛型类型的最有效方法是什么?
这是我的示例代码:
parsebytes(byte[] bytes, int length)
{
//assume that i am doing other checks on data
if (length > 0)
{
myThread.putBytes(bytes, length);
}
}
在我的线程中:
putBytes(byte[] bytes, int length)
{
for (int i = 0; i < length; i++)
{
blockingQueue.put(bytes[i]);
}
}
我也不想一个字节一个字节地退出阻塞队列。我宁愿抓住队列中的所有内容并进行处理。