for (EmpExpr empExpr : exprList) {循环体}
这段代码表示对名为exprList
的集合进行遍历,每次循环取出其中的元素作为EmpExpr
类型的对象empExpr
。
(遍历 exprList 集合中的每一个元素,每次循环将当前元素赋值给 empExpr 变量。)
增强for循环(For-Each Loop)的语法糖
1、语法格式:for (元素类型 元素变量 : 集合或数组)
这是Java 5引入的语法糖,用于简化集合和数组的遍历操作
2、List<EmpExpr> 表示这是一个只存储 EmpExpr 类型对象的列表
编译时类型检查,避免类型转换错误
3、底层实际上使用了Iterator来遍历集合
相比传统for循环更简洁,不易出错
4、执行过程
检查 exprList 是否为空或null
依次取出列表中的每个 EmpExpr 对象
将当前对象赋值给循环变量 empExpr
执行循环体内的代码
继续下一个元素,直到遍历完成
5、对应的传统写法
// 增强for循环的等价写法
Iterator<EmpExpr> iterator = exprList.iterator();
while(iterator.hasNext()) {EmpExpr empExpr = iterator.next();// 循环体代码
}
适用场景
- 批量处理数据:常用于需要逐个处理集合中每个元素的场景,例如批量更新数据库或批量发送消息。
- 数据映射:在处理复杂数据结构(如嵌套对象)时,可快速提取关键信息。
注意事项
- 确保
exprList
的元素类型与EmpExpr
类兼容,否则会引发类型转换错误。 - 若
exprList
为空,循环体内部需处理空指针异常。