public interface Iterable<T>实现这个接口允许对象成为 "foreach" 语句的目标
是不是所有对象啊用到foreach语法的时候都要实现Iterable接口呢?为什么么int,String类型的变量在用foreach语法时不用实现Iterable接口?
如:
int[] numArray = {1,2,3,4,5,6};
for(int i:numArray){System.out.print(i);}
是不是所有对象啊用到foreach语法的时候都要实现Iterable接口呢?为什么么int,String类型的变量在用foreach语法时不用实现Iterable接口?
如:
int[] numArray = {1,2,3,4,5,6};
for(int i:numArray){System.out.print(i);}
是int,String 数组类型的变量吧!jvm当然默认是支持数组的了,除了数组之外想用foreach功能就要实现Iterable接口
数组对象 是系统默认的基本对象,没有其对应的迭代器对象。JDK5以后,可以使用类似foreach语句的语法体,语法体涉及的对象,
可以分三类:数组对象、集合对象、自定义对象。也就是说,你的“foreach”语句中,可以循环遍历 数组对象、集合对象、自定义的对象,
但是,前提条件是:
集合对象,是JDK本身提供的那些对象,他们都实现Iterator接口;
自定义的对象,必须要有相关的Iterator实现。
有空的话,楼主可以看看设计模式方面的书籍,可以帮助理解,迭代器,迭代子等基本概念。