有人可以帮我理解Iterable界面吗?

时间:2015-11-27 19:33:33

标签: java class interface iterable

我发现这段代码片段并且无法完全理解其实现。我知道它有一种方法:

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循环,但接口内的一个方法有什么意义呢?任何有助于清除这种混乱的人都会受到赞赏。

0 个答案:

没有答案