黑马程序员技术交流社区
标题:
高级for循环的问题。
[打印本页]
作者:
陈中岩
时间:
2013-4-13 10:22
标题:
高级for循环的问题。
本帖最后由 陈中岩 于 2013-4-13 20:25 编辑
class Test
{
public static void main(String[] args)
{
int[] arr={4,3,5,3,4};
for (int x:arr)
{
System.out.println(x);
}
}
}
复制代码
代码在上面,数组可以使用高级for循环,
老师讲的是实现了iterable接口后的类可以使用高级for,
因为高级for实际上调用的也是迭代器,
我的问题是数组既然能适应高级for循环,那是不是数组以实现了iterable接口,如果是的话,数组也就可以使用
迭代器取出元素了,那怎么用呢?
如果没有实现iterable,那数组为什么可以使用高级for??
希望好心人能帮我解释下?
作者:
王大斌
时间:
2013-4-13 10:46
Java 新增加的for-each循环只能对Iterable<E>或者数组使用。
注意,数组并没有实现这个这个接口Iterable<E>,
它是作为特例来实现的
。所以别说不能拿Iterator<E>来做for-each,要是想把数组作为参数传递给一个接受Iterable<E>的方法,还非得用java.util.Arrays.asList()来包装一下。
作者:
Asan
时间:
2013-4-13 12:31
老师好像也说了这句话! 增强for循环中的集合变量可以是数组 或者实现来了Iterator接口的集合类吧! 这个我做了笔记!嘿嘿
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2