一直思维定式般的只知道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循环的两种常见用法,一种用于数组,另一种用于集合。文章强调了foreach循环仅支持只读操作,并列举了其使用限制,如无法进行元素赋值等。此外,文章还指出使用foreach循环至少需要Java 5版本。
858

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



