operator == 抽象方法
- 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);