for
循环 (foreach 迭代语法) 的 for
循环。
示例:
for (Iterator<String> iterator = list.iterator(); iterator.hasNext(); ) {
String item = iterator.next();
System.out.println(item);
}
在应用快速修复后:
for (String item : list) {
System.out.println(item);
}
使用报告索引的 'java.util.List' 循环选项查找涉及 list.get(index)
调用的循环。
这些循环通常可以替换为增强的 for
循环,除非它们修改了进程中的基础列表,例如通过调用 list.remove(index)
进行修改。
如果是后面这种情况,增强的 for
循环可能抛出 ConcurrentModificationException
。
在某些情况下,list.get(index)
循环的操作速度也可能更快一些。
使用不报告无类型集合上的迭代选项可以忽略没有类型参数的集合。
这将防止创建 java.lang.Object
类型的增强型 for
循环变量以及在使用循环变量的位置插入转换。
仅当项目或模块的语言级别为 5 级或更高级别时,该检查才会进行报告。