报告使用 Float.NaNDouble.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()
  }