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

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

FloatBuffer get() 有两种主要方法。

  1. get()
  2. get(int index)

get()

java.nio.FloatBuffer 类具有 get() 函数。FloatBuffer 类用于读取缓冲区当前位置的浮点数并递增其值。

语法

返回值:此方法返回缓冲区当前位置的浮点值。

BufferUnderflowException:当缓冲区当前位置不小于其最大值时,会引发此异常。

示例 1

Java 代码展示了如何使用 FloatBuffer。将三个浮点值添加到容量为 5 的 FloatBuffer 中。使用 rewind() 函数将缓冲区的当前位置重置到开头。显示了初始缓冲区的 contents,然后使用 get() 方法读取并显示当前位置和下一个位置的浮点值。程序处理在这些活动期间可能抛出的任何 IllegalArgumentException。

实施

文件名:BufferGetExample1.java

输出

 
The Original FloatBuffer is given by: [8.56, 9.61, 1.24, 0.0, 0.0]
The Float Value is: 8.56
The Next Float Value is: 9.61   

示例 2

展示了使用 java.nio 包中的 FloatBuffer 的 Java 程序。首先,分配一个容量为三的 FloatBuffer。然后向缓冲区添加两个浮点值 7.26F 和 8.97F。通过调用 Arrays.toString(floatbuf.array()) 显示缓冲区 contents。使用 get() 方法,程序读取并输出当前和下一个位置的浮点值。如果缓冲区的位置超出限制,则缓冲区会捕获并打印 IllegalArgumentException。

实施

文件名:getFloatExample2.java

输出

 
The Original FloatBuffer is given by: [7.26, 8.97, 0.0]
The Float Value is: 0.0
Since the current position of the buffer is increased to exceed its upper limitException in thread "main" java.nio.BufferUnderflowException
	at java.base/java.nio.Buffer.nextGetIndex(Buffer.java:702)
	at java.base/java.nio.HeapFloatBuffer.get(HeapFloatBuffer.java:172)
	at getFloatExample2.main(getFloatExample2.java:28)   

get(int index)

本文介绍了使用 FloatBuffer get(int index) 方法在指定索引处进行处理。

语法

参数:此方法有一个参数,即 index,它是将从中读取浮点数的索引。

返回值:此方法返回指定索引处的浮点值。

异常:此方法抛出 IndexOutOfBoundsException。如果索引为负数或不小于缓冲区的限制,则会引发此异常。

示例 1

提供的 Java 程序展示了如何使用 java.nio 包中的 FloatBuffer。首先,分配一个容量为三的 FloatBuffer,并将三个浮点值(7.26F、8.23F 和 9.14F)放入其中。使用 Arrays.toString(floatbuff.array()) 显示缓冲区 contents。然后,程序使用 get(int index) 函数检索并打印特定索引(0、1 和 2)处的浮点值。通过捕获并打印必要的错误消息,程序确保了稳健的错误处理,以防出现非法参数或索引越界异常。

实施

文件名:GetIndexFloatExample1.java

输出

 
The Original FloatBuffer is given by: [7.26, 8.23, 9.14]
The Float Value at index 0 is: 7.26
The Float Value at index 1 is: 8.23
The Float Value at index 2 is: 9.14   

示例 2

此 Java 程序展示了如何使用 java.nio 包中的 FloatBuffer 操作。它添加了三个浮点值(7.26F、8.23F 和 9.14F),并分配了一个容量为 3 的 FloatBuffer。使用 Arrays.toString(floatbuff.array()) 显示缓冲区 contents。应用程序使用 get(int index) 方法检索并打印指定索引处的浮点数据。尝试访问越界索引(索引 7)时会引发异常。程序会打印每种问题的相关错误消息,包括 IllegalArgumentException、IndexOutOfBoundsException 和 BufferUnderflowException。

实施

文件名:GetIndexFloatExample2.java

输出

 
The Original FloatBuffer is given by: [7.26, 8.23, 9.14]
The Float Value at index 0 is: 7.26
The Float Value at index 1 is: 8.23
ReadOnlyBufferException is catched