是否有 Java 8 流操作限制(可能无限)Stream直到第一个元素无法匹配谓词?
Stream
在 Java 9 中,我们可以使用takeWhile下面的示例打印所有小于 10 的数字。
takeWhile
IntStream .iterate(1, n -> n + 1) .takeWhile(n -> n < 10) .forEach(System.out::println);
由于 Java 8 中没有这样的操作,以一般方式实现它的最佳方法是什么?
操作takeWhile并dropWhile已添加到 JDK 9。您的示例代码
dropWhile
在 JDK 9 下编译和运行时,其行为将完全符合您的预期。
JDK 9 已经发布。可在此处下载:JDK 9 Releases。