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

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

java.nio.FloatBuffer 类包含 equals() 函数。要确定提供的缓冲区是否等于另一个对象,请使用 FloatBuffer 类。

当且仅当两个浮点缓冲区等效时,则

  • 两个缓冲区的元素类型相同。
  • 每个缓冲区剩余元素的数量相同。
  • 考虑到它们各自的初始位置,两个剩余的元素序列在点对点上是等效的。

当 (a == b) || (Float.isNaN(a) && Float.isNaN(b)) 时,此方法将两个浮点元素 a 和 b 视为等效。与 Float.equals(Object) 不同,-0.0 和 +0.0 被视为相等。没有其他类型的对象等效于浮点缓冲区。

语法

参数:要与此缓冲区进行比较的对象称为 obj,并作为参数传递给此方法。

返回值:仅当给定对象等于此缓冲区时,该方法才返回 true。

示例 1

Java 代码展示了如何创建和比较两个 FloatBuffer 实例,每个实例的容量为十二。特定浮点值被放置在两个具有相同大小分配的缓冲区的预定位置。添加值,然后将缓冲区恢复到其初始位置。打印完两个缓冲区的内​​容后,使用 equals 方法比较它们是否相等。如果内容相同,则打印“两者相等”的消息;否则,打印“两者不相等”。

实施

文件名: FloatBufferEqualsExample1.java

输出

 
The FloatBuffer 1 is: [4.65, 0.0, 0.0, 7.84, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
The FloatBuffer 2 is: [4.65, 0.0, 0.0, 7.84, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
Both are Equal   

示例 2

Java 代码创建并比较了两个容量不同(12 和 10)的 FloatBuffer 对象。分配了两个缓冲区的尺寸,并在特定点添加了特定的浮点值。添加值后,将缓冲区倒回以将位置重置为零。打印两个缓冲区的所有内​​容,并使用 equals 方法比较它们是否相等。由于缓冲区因容量不同而不被视为相等,因此程序会打印“两者不相等”。

实施

文件名: FloatBufferEqualsExample2.java

输出

 
The FloatBuffer 1 is: [4.65, 0.0, 0.0, 7.84, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
The FloatBuffer 2 is: [4.65, 0.0, 0.0, 7.84, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
Both are not Equal