Java 如果我们没有';“CharBuffer”或“Buffer”中没有任何相应的(allocateDirect)方法吗?
为什么在CharBuffer中有Java 如果我们没有';“CharBuffer”或“Buffer”中没有任何相应的(allocateDirect)方法吗?,java,nio,bytebuffer,charbuffer,Java,Nio,Bytebuffer,Charbuffer,为什么在CharBuffer中有isDirect()方法 如果CharBuffer或Buffer中没有任何相应的(allocateDirect)方法,我们如何分配直接CharBuffer 我猜是这样的: ByteBuffer.alocateDirect(100).asCharBuffer() 这是真的吗?这是唯一(也是推荐的)方法吗?CharBuffer从Buffer接口继承了该方法以及其他许多方法。 CharBuffer有多个子类 例如,DirectCharBuffer(s)返回true
isDirect()
方法
如果CharBuffer
或Buffer
中没有任何相应的(allocateDirect)方法,我们如何分配直接CharBuffer
我猜是这样的:
ByteBuffer.alocateDirect(100).asCharBuffer()
这是真的吗?这是唯一(也是推荐的)方法吗?
CharBuffer
从Buffer
接口继承了该方法以及其他许多方法。CharBuffer
有多个子类
例如,DirectCharBuffer
(s)返回true
这个 将返回一个
DirectCharBuffer
,它是一个CharBuffer
*U
用于大端系统的后缀。*S
其他类型的后缀(小尾端)。*R
只读缓冲区的后缀
是这样吗?这是唯一(也是推荐的)方法吗 对
作为参考,什么是直接缓冲区?请参阅“直接缓冲区与非直接缓冲区”一节。在JavaI中,字符不是字节。我为U/S/R后缀添加了一个解释。您需要其他澄清吗?
ByteBuffer.allocateDirect(20).asCharBuffer();
final CharBuffer cb = ByteBuffer.allocateDirect(20).asCharBuffer();
final boolean direct = cb.isDirect(); // true