我发现这段代码片段并且无法完全理解其实现。我知道它有一种方法:
Iterator<T> iterator()
创建一个新的迭代器。但这一方法的重点是什么。 在这个例子中:
import java.util.Iterator;
public class Range implements Iterable<Integer> {
private int start, end;
public Range(int start, int end) {
this.start = start;
this.end = end;
}
public Iterator<Integer> iterator() {
return new RangeIterator();
}
}
public static void main(String[] args) {
Range range = new Range(1, 10);
for(Integer cur : range) {
System.out.println(cur);
}
}
代码工作正常,但从未调用iterator()
。我知道你需要Iterable
接口来使用for循环,但接口内的一个方法有什么意义呢?任何有助于清除这种混乱的人都会受到赞赏。