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