gpt4 book ai didi

java - 如果我们在 `CharBuffer` 或 `Buffer` 中没有任何相应的 (allocateDirect) 方法,我们如何分配直接 CharBuffer ?

转载 作者:行者123 更新时间:2023-12-02 10:03:49 25 4
gpt4 key购买 nike

为什么 CharBuffer 中有 isDirect() 方法?

如果 CharBufferBuffer 中没有任何相应的 (allocateDirect) 方法,我们如何分配直接 CharBuffer?

我猜可能是:

ByteBuffer.alocateDirect(100).asCharBuffer()

是这样吗?这是唯一(也是推荐的)方法吗?

最佳答案

CharBufferBuffer 接口(interface)继承该方法,还有许多其他方法。
CharBuffer 有多个子类

enter image description here

例如,DirectCharBuffer返回true
这个

ByteBuffer.allocateDirect(20).asCharBuffer();

将返回一个DirectCharBuffer,它是一个CharBuffer

*U 大端系统的后缀。
*S 后缀表示其他类型(小端)。
*R 只读缓冲区后缀。

<小时/>
final CharBuffer cb = ByteBuffer.allocateDirect(20).asCharBuffer();
final boolean direct = cb.isDirect(); // true
<小时/>

Is this so and is it the only (and recommended) way to do it?

是的。

<小时/>

仅供引用,什么是直接缓冲区?请参阅JavaDoc直接缓冲区与非直接缓冲区部分。

关于java - 如果我们在 `CharBuffer` 或 `Buffer` 中没有任何相应的 (allocateDirect) 方法,我们如何分配直接 CharBuffer ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55443117/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com