如何使用 Java 的 ByteBuffer.arrayOffset() 方法

use*_*359 4 java buffer nio

ByteBuffer.arrayOffset的 Java API 文档指出:

返回缓冲区第一个元素在此缓冲区的后备数组中的偏移量(可选操作)

我不知道如何arrayOffset()返回一个非零值。有谁知道如何更改调用该ByteBuffer.arrayOffset()方法的结果?

Bre*_*ken 5

更新以描述切片在数组支持的 ByteBuffer 上的使用。

数组偏移量指向后备缓冲区中的偏移量。获取 0 以外的值的方法之一是创建一个支持数组的 ByteBuffer,然后调用slice。slice 的结果将有一个偏移值,对应于原始 ByteBuffer 的当前位置。数组偏移量仅在获取后备数组直接与之交互时有用

  • 自@LubosD 发表评论以来,此答案已被修改,现在包含事实准确的信息。+1。 (3认同)