operator == 抽象方法

bool operator ==(
  1. Object other
)
override

判断此值是否与 other 数值相等。

如果两个操作数都是 double 类型,它们相等当它们有相同的表示形式,除了

  • 零和负零(0.0 和 -0.0)被认为是相等的。它们都具有数值零。
  • NaN 不等于任何值,包括 NaN。如果任一操作数是 NaN,结果总是 false。

如果一个操作数是 double 类型,另一个是 int 类型,如果 double 有整数值(有限且没有小数部分)且数值相同,它们相等。

如果两个操作数都是整数,它们相等当它们的值相同。

如果 other 不是 num,则返回 false。

请注意,NaN 的行为是非自反的。这意味着双精度浮点数的相等性不是一个合适的相等关系,正如 operator== 所要求的。在例如 HashSet 中使用 NaN 将无法工作。行为是标准的 IEEE-754 双精度浮点数相等性。

如果您可以避免 NaN 值,其余的双精度浮点数确实具有合适的相等关系,并且可以安全使用。

使用 compareTo 进行区分零和负零的比较,并将 NaN 值视为相等的比较。

实现

bool operator ==(Object other);