我有一个带有此签名的功能:
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。 -使用字节。从原始类型到对象类型的此区域,例如字节->字节令人困惑。
最佳答案
Byte
与byte
完全不同。将字节数组转换为字节数组(这需要大量的时间和内存),或者编写新的类ByteCircularBuffer
(采用CircularBuffer<T>
并将T
替换为byte
)。