报告可以替换为对 Long.hashCode()Double.hashCode() 方法的调用的按位运算。 它会检测构造 (int)(x ^ (x >>> 32)),其中 x 是类型为 long 的变量,或者是前一个 Double.doubleToLongBits() 调用的结果。 此替换可以缩短代码,提高代码的可读性。

示例:


  int result = (int)(var ^ (var >>> 32));

应用该快速修复后:


  int result = Long.hashCode(var);

仅当项目或模块的语言级别为 8 或更高时,此检查才会报告。

2024.1 最新变化