Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:如何获得ShortBuffer中的项目数?_Java_Android_Buffer - Fatal编程技术网

Java:如何获得ShortBuffer中的项目数?

Java:如何获得ShortBuffer中的项目数?,java,android,buffer,Java,Android,Buffer,我想知道如何获得短缓冲区中的项目数 我想要的是缓冲区中实际存在的项目数,而不是最大容量 谢谢。不是一个集合,而是一个围绕基元数组的(相对较薄的)包装器,它提供了一些对基元值组进行操作的有用方法。与基元数组一样,它始终包含每个有效索引的值 因此,项目数量始终等于其容量 它不跟踪自创建以来已写入的索引。一个主要的用例是对现有数组进行修改,同时仍然反映对已包装数组的所有更改,这甚至不可能实现。ShortBuffer保持一个位置,跟踪元素的放置位置。你可以用它来知道你放了多少元素。元素的数量始终等于其他

我想知道如何获得短缓冲区中的项目数

我想要的是缓冲区中实际存在的项目数,而不是最大容量

谢谢。

不是一个集合,而是一个围绕基元数组的(相对较薄的)包装器,它提供了一些对基元值组进行操作的有用方法。与基元数组一样,它始终包含每个有效索引的值

因此,项目数量始终等于其容量


它不跟踪自创建以来已写入的索引。一个主要的用例是对现有数组进行修改,同时仍然反映对已包装数组的所有更改,这甚至不可能实现。

ShortBuffer
保持一个
位置,跟踪
元素的放置位置。你可以用它来知道你放了多少元素。元素的数量始终等于其他元素所提到的容量

@Test
fun testShortBuffer() {

    val shortBuffer = ShortBuffer.allocate(1024)

    println(shortBuffer.position()) // position 0

    shortBuffer.put(1)
    println(shortBuffer.position()) // position 1

    shortBuffer.put(shortArrayOf(2, 3, 4))
    println(shortBuffer.position()) // position 4

    shortBuffer.clear()
    println(shortBuffer.position()) // position 0
}

你所说的“缓冲区中实际存在的项目数”是什么意思?你能用代码说明这与容量有什么不同吗?从“缓冲区的容量是它包含的元素数”中可以看出。别误会,这个问题看起来是由一个新手写的,他有一个代表,在这里花了10分钟。我相信,你可以做得更好。