我的代码中有一个java.nio.ByteBuffer:
最初的回答:
ByteBuffer bb = ByteBuffer.allocateDirect(1024);
...
我希望能够替换一个新的ByteBuffer实现(即它必须扩展java.nio.ByteBuffer),以便在底层重新分配、复制和丢弃先前的小ByteBuffer,从而实现无缝动态增长。
我不能只有一个包装器,因为它必须是一个java.nio.ByteBuffer。
它应该像这样:
ByteBuffer bb = new MyImplementationOfByteBufferThatExtendsByteBuffer(1024);
有人见过或者做过这个吗?这是否可行?
只需注意,如果java.nio.ByteBuffer
是一个接口而不是一个抽象类,那么实现起来就很容易。正如古语所说,如果想要灵活性,应该优先使用接口而不是抽象类。
最初的回答:
ByteBuffer
的所有构造函数都是包私有的。因此,可能不会有“干净”的解决方案... - Marco13