我有一个带有此签名的功能:

void insert(T[] thearray);


我有一个像这样的字节数组:

byte[] value = new byte[4096];


但是,如果我这样调用函数:

cb.insert(value);

我收到一个错误:

The method insert(Byte) in the type CircularBuffer<Byte> is not applicable for the arguments (byte[])


CircularBuffer是具有insert方法的类。

我实例化CircularBuffer是这样的:

CircularBuffer<Byte> cb = new CircularBuffer<Byte>(4096);


如何将值传递给此插入函数?

需要明确的是,CircularBuffer类的声明如下:

public class CircularBuffer<T>

public CircularBuffer(int size) //ctor


如果需要,请提供更多详细信息:

https://codereview.stackexchange.com/questions/22826/circular-buffer-implementation-for-buffering-tcp-socket-messages

最后,出于效率考虑,我决定创建一个专门的ByteCircularBuffer。 -使用字节。从原始类型到对象类型的此区域,例如字节->字节令人困惑。

最佳答案

Bytebyte完全不同。将字节数组转换为字节数组(这需要大量的时间和内存),或者编写新的类ByteCircularBuffer(采用CircularBuffer<T>并将T替换为byte)。

07-24 09:28