一直思维定式般的只知道for的一种写法:for(int i; i<n; i++) ... 昨天才偶然发现java中的类似foreach用法,见下表
| For-each loop | Equivalent for loop |
|---|---|
for (type var : arr) {
body-of-loop
} | for (int i = 0; i < arr.length; i++) {
type var = arr[i];
body-of-loop
} |
for (type var : coll) {
body-of-loop
} | for (Iterator<type> iter = coll.iterator(); iter.hasNext(); ) {
type var = iter.next();
body-of-loop
} |
需要注意的是这种方式是只读操作不能赋值,只能向前不能后退,每次只能读一个不能做前后比较,每次只处理一个array不能两个array相比较。至少要求java5.
信息来源:http://www.leepoint.net/notes-java/flow/loops/foreach.html
本文介绍了Java中foreach循环的两种使用方式及其等价的传统for循环写法。分别针对数组和集合进行了详细说明,并强调了foreach循环的限制条件,例如只读操作、不可修改迭代等特性。
860

被折叠的 条评论
为什么被折叠?



