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);
}
不报告没有 update 语句的基本 for
循环中的赋值。
在此类情况下,赋值很可能是预期的,不能轻易移动到 for
循环的更新部分。
示例:
for (int i = 0; i < list.size(); ) {
if (element.equals(list.get(i))) {
list.remove(i);
} else {
// 因为没有 update 语句
// 所以不报告 for 循环形参的修改
i++;
}
}
使用检查增强型 'for' 循环形参选项可指定是否还应报告增强的 for
循环形参的修改。