4

FloatBuffercapacity()告诉我们最大容量的方法FloatBuffer。但是,它并没有告诉我们该缓冲区中有多少元素。那么如何确定 a 中的元素数量FloatBuffer?我正在尝试确定我FloatBuffer的已满还是部分满。

4

4 回答 4

6

我永远无法将 NIO 缓冲区直接放在脑海中,但remaining()可能就是您所追求的……

返回当前位置和限制之间的元素数。

(或者hasRemaining()如果你追求一个简单的布尔值,就使用......)

于 2011-08-29T20:23:12.490 回答
2

你不能。与浮点数组一样,您可以获得长度,但已设置的长度由应用程序确定。

于 2011-08-29T20:23:53.323 回答
0

那么如何确定 FloatBuffer 中的元素数量呢?

不就是 position() 吗?

要确定是否可以写入更多内容,只需测试 fb.remaining() > 0 或 fb.hasRemaining()。

于 2011-08-29T20:37:49.983 回答
0

出于调试目的,只需使用

floatBuffer.toString()

在字符串的末尾,将显示有关当前位置和容量的信息,例如

...[位置=0 限制=1024 上限=1024]

于 2019-02-27T14:24:21.657 回答