for 루프 매개변수에 대한 대입 또는 수정을 보고합니다.
의도된 경우도 있으나 이러한 구문은 혼동될 수 있으며, 오타 또는 잘못된 변수 사용으로 인해 종종 발생하기도 합니다.
빠른 수정에서는 새로운 변수 선언을 추가합니다.
예:
for (String s : list) {
// 경고: s가 루프 내에서 변경되었습니다
s = s.trim();
System.out.println("String: " + s);
}
빠른 수정을 적용한 후:
for (String s : list) {
String trimmed = s.trim();
System.out.println("String: " + trimmed);
}
업데이트 구문이 없는 기본 for 루프의 대입은 보고되지 않습니다.
이러한 경우 대입은 의도적일 가능성이 있고 for 루프의 업데이트 부분으로 쉽게 이동할 수 없습니다.
예:
for (int i = 0; i < list.size(); ) {
if (element.equals(list.get(i))) {
list.remove(i);
} else {
// 업데이트 구문이 없으므로 for 루프 매개변수
// 수정은 보고되지 않습니다
i++;
}
}
향상된 'for' 루프 매개변수 검사 옵션을 사용하여 향상된 for 루프 매개변수 수정도 보고해야 하는지
지정합니다.