https://docs.oracle.com/javase/specs/jls/se8/html/jls-14.html#jls-14.14
你可以看 14.14.2 部分,有提到:
如果被遍历的是 Iterable 的子类则编译成下面这种:
- for (I #i = Expression.iterator(); #i.hasNext(); ) {
- {VariableModifier} TargetType Identifier =
- (TargetType) #i.next();
- Statement
- }
复制代码
如果是数组则编译成下面这种:
- for (int #i = 0; #i < #a.length; #i++) {
- {VariableModifier} TargetType Identifier = #a[#i];
- Statement
- }
复制代码 |