渡されたバイトの配列を読み取っています(私の選択ではありませんが、この方法で使用する必要があります)。LinkedBlockingQueueにデータを取得し、最終的にバイトをステップスルーして、1つ以上の(部分的なメッセージを含む可能性がある)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]);
}
}
また、ブロッキングキューをバイトごとに削除する必要もありません。私はむしろキューにあるすべてのものをつかんでそれを処理したいと思います。