我认为这 完全是合法的 -
Iterator仅仅是“东西”的流。为什么必须限制流?
许多其他语言(例如Scala)具有内置于其中的无限流的概念,并且可以对其进行迭代。例如,使用scalaz
scala> val fibs = (0, 1).iterate[Stream](t2 => t2._2 -> (t2._1 + t2._2)).map(_._1).iteratorfibs: Iterator[Int] = non-empty iteratorscala> fibs.take(10).mkString(", ") //first 10 fibonnacci numbersres0: String = 0, 1, 1, 2, 3, 5, 8, 13, 21, 34编辑: 就最不惊奇的原则而言,我认为这完全取决于上下文。 例如,我希望该方法返回什么?
public Iterator<Integer> fibonacciSequence();



