gpt4 book ai didi

java - ByteBuffer 的 Compact() 之后位置设置为 0

转载 作者:行者123 更新时间:2023-12-01 12:32:42 24 4
gpt4 key购买 nike

通常,在调用 ByteBuffer 的 Compact() 后,我发现新位置将设置为旧限制,以便缓冲区为 put() 做好准备。

但有时,在调用compact()后,我发现ByteBuffer中的位置为0(并且限制=容量)。如果是这样,只有在调用compact之前position=capacity(或position=limit)时才会发生这种情况吗?

ByteBuffer 的 javadoc 说“缓冲区的位置设置为 n+1,其限制设置为其容量。”,但我似乎在程序中看到位置设置为 0。

最佳答案

如果您从缓冲区中删除了所有内容,就会发生这种情况,因此它与 clear() 相同。 这意味着事先 position = limit

关于java - ByteBuffer 的 Compact() 之后位置设置为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25818715/

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