Iterable<T> 接口解析
一、说明
源码中对 Iterable 的说明是这样的:Implementing this interface allows an object to be the target of the “for-each loop” statement. See For-each Loop(实现此接口允许对象成为“ for-each循环”语句的目标。 请参阅 《For-each Loop》)
意思就是说:实现此接口的类可以使用增强 for 循环。简单的例子如下:
// 增强 for 循环代码
private static final void descForeachLoop() {
List<Integer> list = Arrays.asList(1,2,3,4);
for (Integer i : list) {
System.out.println(i);
}
}
// Java 会自动编译成如下代码
private static final void descForeachLoop() {
List<Integer> list = Arrays.asList(1, 2, 3, 4);
Iterator var1 = list.iterator();
while(var1.hasNext()) {
Integer i = (Integer)var1.next();
System.out.println(i);
}
}
具体的解释可以参考 《For-each Loop》