这是JDK 9中的错误-从问题#8193856开始:
takeWhile错误地假设上游操作支持并接受取消操作,不幸的是并非如此flatMap。
说明
如果已订购流,
takeWhile则应显示预期的行为。在您的代码中,情况并非完全如此,因为您使用
forEach会放弃订购。如果您关心它(在本示例中这样做),则应该使用它
forEachOrdered。有趣的是:那没有任何改变。

这是JDK 9中的错误-从问题#8193856开始:
takeWhile错误地假设上游操作支持并接受取消操作,不幸的是并非如此flatMap。
如果已订购流,
takeWhile则应显示预期的行为。在您的代码中,情况并非完全如此,因为您使用
forEach会放弃订购。如果您关心它(在本示例中这样做),则应该使用它
forEachOrdered。有趣的是:那没有任何改变。