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 ループパラメーターの変更も報告するかどうかを指定できます。