有没有简单的方法就可以使用java-8创建无限流而无需外部库?

例如在Scala中:

Iterator.iterate(0)(_ + 2)

最佳答案

是的,有一种简单方式:

IntStream.iterate(0, i -> i + 2);

作为用例:
IntStream.iterate(0, i -> i + 2)
         .limit(100)
         .forEach(System.out::println);

打印出0到198,以2为步长递增。

通用方法是:
Stream.iterate(T seed, UnaryOperator<T> f);

后者的用法可能更不常见。

10-08 12:09