Float.NaN
或 Double.NaN
的相等检查 (应替换为 isNaN()
检查)。
根据 IEEE 754,对照 NaN 进行的相等检查始终返回 false
,即便对 NaN == NaN
也如此。
因此,这种检查很可能是错误的。
快速修复将比较替换为使用不同比较技术的 isNaN()
检查,并正确处理 NaN
值。
示例:
fun check(value: Double): Boolean {
return Double.NaN == value
}
应用修复后:
fun check(value: Double): Boolean {
return value.isNaN()
}