foreach的原理:
首先我们给出一个简单的例子
public class Demo1 {
public static void main(String[] args) {
String[] i={"0","1","2","3","4","5","6"};
for(String j:i){
System.out.println(j);
}
}
}
再看看他的字节码 javap -c Demo1或者javap -verbose Demo1
注意其73行,这是goto,也就是说类似与for循环实现,至少可以判断这里存在一个循环
再看看其他的例子
public static void main(String[] args) {
LinkedList<String> lists=new LinkedList<>();
for(int i=0;i<5;i++){
lists.add(i+"");
}
for(String i:lists){
System.out.println(i);
}
}
明显可以看出使用了迭代器来实现foreach循环!