如果(读取)使用的变量被 if
、while
或 for
语句包围,且存在该变量与常量相比较的 ==
条件时,就会发生这种情况。
在这种情况下,使用的已知为常量的变量可以替换为实际常量。
示例:
private static void foo(double number) {
if (number == 1.0) {
f(number);
}
}
private static void f(double number) {}
在应用快速修复后:
private static void foo(double number) {
if (number == 1.0) {
f(1.0);
}
}
private static void f(double number) {}