专栏名称: 方志朋
号主为CSDN博客之星,博客访问量突破一千万,著有畅销书《深入理解SpringCloud与微服务构建》。主要分享Java、后端架构等技术,用大厂程序员的视角来探讨技术进阶、面试指南、职业规划等。15W技术人的选择!
今天看啥  ›  专栏  ›  方志朋

Java中的增强for循环的实现原理与坑

方志朋  · 公众号  · 程序员  · 2019-07-17 09:31
点击上方“方志朋”,选择“设为星标”做积极的人,而不是积极废人在JAVA中,遍历集合和数组一般有以下三种形式:for (int i = 0; i list.size(); i++) {    System.out.print(list.get(i) + ",");}Iterator iterator = list.iterator();while (iterator.hasNext()) {    System.out.print(iterator.next() + ",");}for (Integer i : list) {    System.out.print(i + ",");}第一种是普通的for循环遍历、第二种是使用迭代器进行遍历,第三种我们一般称之为增强for循环(for each)。实现原理可以看到,第三种形式是JAVA提供的语法糖,这里我们剖析一下,这种增强for循环底层是如何实现的。我们对以下代码进行反编译:for (Integer i : list) {    System.out.println(i);}反编译后:Integer i;for(Iterator iterator = list.iterator(); iterator.hasNext(); System.out.println(i)) ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照