Java 中的 FloatBuffer put() 方法及示例

2025 年 1 月 6 日 | 阅读 5 分钟

FloatBuffer put() 方法主要有两种,它们接受不同的参数。

  1. put(float f)
  2. put(int index, float f)

一、 put(float f)

java.nio.FloatBuffer 类具有 put(float f) 函数。通过 FloatBuffer 类,将指定的浮点数写入新生成的浮点缓冲区当前位置,然后递增该位置。

语法

参数

此方法的一个参数是要放入浮点缓冲区的浮点值 f。

返回值:此方法返回已将浮点值插入缓冲区的缓冲区。

异常:此方法抛出以下异常

BufferOverflowException - 如果此缓冲区的当前位置不小于其限制。

ReadOnlyBufferException - 如果此缓冲区只能读取。

示例 1

该代码展示了如何在 Java 中创建和使用 FloatBuffer。由于其容量为三个,因此在分配的 FloatBuffer 中可以存储三个浮点值。它通过使用 put 函数将三个浮点值添加到缓冲区。为了准备缓冲区以供读取,调用 rewind 方法将其位置重置到开头。然后将缓冲区的底层数组转换为字符串表示形式,并使用 Arrays.toString 显示 FloatBuffer 的内容。为了管理缓冲区操作期间可能出现的故障,代码包含了对 BufferOverflowException 和 ReadOnlyBufferException 的异常处理。

实施

文件名:putFloatExample1.java

输出

 
The Original FloatBuffer is given by : [9.46, 8.41, 2.76]   

二、 put(int index, float f)

java.nio.FloatBuffer 类具有 put(int index, float f) 函数。通过 FloatBuffer 类,将给定的浮点数写入指定索引处的缓冲区。

语法

参数:以下参数作为参数传递给此方法

index:将继续写入浮点数的索引

f:要写入的浮点值

返回值:此方法返回缓冲区。

异常:此方法抛出的异常如下

IndexOutOfBoundsException - 如果索引小于缓冲区的限制,无论它是负数。

ReadOnlyBufferException - 如果此缓冲区只能读取。

示例 1

该代码解释了一个 Java 程序,该程序演示了如何使用 FloatBuffer 在特定索引处存储浮点值。在 main 方法中,使用 put() 函数将浮点值插入到提供的索引处,即索引 0 处的 9.35F、索引 2 处的 8.27F 和索引 1 处的 7.21F。put() 方法还初始化了一个容量为 3 的 FloatBuffer。在插入值后,通过调用 rewind() 方法将缓冲区的当前位置重置为零。最后,打印一个表示 FloatBuffer 内容的数组。为了处理缓冲区操作期间可能出现的故障,该程序为 IndexOutOfBoundsException 和 ReadOnlyBufferException 提供了异常处理。

实施

文件名:putIndexExample1.java

输出

 
The Original FloatBuffer is given by: [9.35, 7.21, 8.27]   

示例 2

该代码演示了一个 Java 程序,该程序说明了如何使用 FloatBuffer 在指定索引处存储浮点数,以及如何处理使用错误索引时可能发生的错误。在 main 方法中,使用 put() 方法在初始化容量为三的 FloatBuffer 后插入两个浮点值:索引 0 处的 9.25F 和索引 2 处的 8.37F。然后,当它尝试将值 7.34F 插入到无效的负索引(-1)时,会引发 IndexOutOfBoundsException。在检测到此异常后,会打印一条相应的消息。

实施

文件名:putIndexFloatExample2.java

输出

 
Trying to put the value when the index is negative
The Exception thrown is given by : java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 3