java增强for循环原理

通过反编译源码,我们看到,其实JAVA中的增强for循环底层是通过迭代器模式来实现的。

增强for循环实现原理


编译前

for (Integer i : list) {
   System.out.print(i + ",");
}



编译后

Integer i;
for(Iterator iterator = list.iterator(); iterator.hasNext(); System.out.println(i)){
   i = (Integer)iterator.next();        


源码解析Integer i; 定义一个临时变量i
 

Iterator iterator = list.iterator(); 获取List的迭代器
iterator.hasNext(); 判断迭代器中是否有未遍历过的元素
i = (Integer)iterator.next(); 获取第一个未遍历的元素,赋值给临时变量i
System.out.println(i) 输出临时变量i的值

猜你喜欢

转载自blog.csdn.net/sunyufeng22/article/details/120763294