Java中for(Customers cust: customerArrayList)这类语法的作用是什么?
这段Java代码的含义解释
你贴的是JDK 1.5及以上版本支持的增强for循环(也叫for-each循环),是用来简化集合、数组遍历的语法糖,不需要手动控制下标索引,也不需要手动调用迭代器方法就能完成遍历。
语法拆解
Customers cust:循环内的临时变量,每次遍历会自动把集合中的当前元素赋值给这个变量,变量类型要和集合存储的元素类型匹配customerArrayList:要遍历的目标容器,支持所有实现了Iterable接口的集合类(比如ArrayList、HashSet等),也支持普通Java数组
等价普通for循环写法
你写的这段代码逻辑和下面的普通for循环完全一致:
for(int i = 0; i < customerArrayList.size(); i++) { Customers cust = customerArrayList.get(i); // 原循环内的业务逻辑放在此处 }
注意事项
- 增强for循环只能做全量顺序遍历,无法直接获取当前遍历的下标,需要用到下标的场景建议使用普通for循环
- 遍历过程中如果需要增删集合元素,不能使用增强for循环,否则会触发
ConcurrentModificationException并发修改异常,这类场景推荐使用Iterator迭代器操作
内容的提问来源于stack exchange,提问作者Talha
相关产品推荐
相关产品推荐

