报告整数值与可表示为 2 的幂的常量整数的乘积。 此类表达式可以替换为右移或左移运算,以提高性能。

请注意,此检查与现代 JVM(例如 HotSpot 或 OpenJ9)无关,因为它们的 JIT 编译器将执行此优化。 它可能只在一些不执行 JIT 编译的嵌入式系统中有用。

示例:


  int y = x * 4;

建议通过快速修复用移位运算替换乘法或除法运算的:


  int y = x << 2;

使用该选项使检查也报告二次幂除法。 请注意,用移位替换二次幂除法不适用于负数。