报告无意义的算术表达式。 这样的表达式包括加零、减零、乘以零或一以及除以一。
这样的表达式可能是自动重构所致,不太可能出于开发人员的本意。
快速修复简化了这样的表达式。
示例:
void f(int a) {
int x = a - a;
int y = a + 0;
int res = x / x;
}
在应用快速修复后:
void f(int a) {
int x = 0;
int y = a;
int res = 1;
}
请注意,在极少数情况下,所建议的替换可能不完全等同于所有可能的输入的原始代码。 例如,该检查建议将 x / x
替换为 1
。
但是,如果 x
为零,原始代码将抛出 ArithmeticException
或导致 NaN
。
另外,如果 x
为 NaN
,那么结果也是 NaN
。 这种行为不太可能出于本意。