相信大家都使用过for去实现ArrayList的迭代。是很方便的一个功能,能够这样实现的原因是这些类都继承terator接口。编译期间编译器将for的迭代转化为for循环的实现形式。具体我们下面看一下
这是使用的代码
public class Main5{
public static void main(String ...arg) throws Exception{
ArrayList<Integer> list = new ArrayList<Integer>();
for(int i:list){
System.out.println(i);
}
}
}
使用jad对上面代码的class文件反编译后结果如下
import java.util.Iterator;
public class Main5
{
public Main5()
{
}
public static transient void main(String arg[])
throws Exception
{
ArrayList list = new ArrayList();
int i;
for(Iterator iterator = list.iterator(); iterator.hasNext(); System.out.println(i))
i = ((Integer)iterator.next()).intValue();
}
}