루프 본문 내에서의 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 루프 매개변수 수정도 보고해야 하는지 지정합니다.