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);} 

解决方案 »

  1.   

    int,String类型的变量?
    是int,String  数组类型的变量吧!jvm当然默认是支持数组的了,除了数组之外想用foreach功能就要实现Iterable接口
      

  2.   

    集合对象 才会有 相应的 迭代器对象。
    数组对象 是系统默认的基本对象,没有其对应的迭代器对象。JDK5以后,可以使用类似foreach语句的语法体,语法体涉及的对象,
    可以分三类:数组对象、集合对象、自定义对象。也就是说,你的“foreach”语句中,可以循环遍历 数组对象、集合对象、自定义的对象,
    但是,前提条件是:
          集合对象,是JDK本身提供的那些对象,他们都实现Iterator接口;
          自定义的对象,必须要有相关的Iterator实现。
    有空的话,楼主可以看看设计模式方面的书籍,可以帮助理解,迭代器,迭代子等基本概念。