由forEach中return无法终止函数执行引出的探究

Posted eyes++

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了由forEach中return无法终止函数执行引出的探究相关的知识,希望对你有一定的参考价值。

我在写脚本的时候遇到了bug,如下:

无论是什么情况,函数都返回-1,我打印循环中的各个值才惊讶地发现,即使执行了return i,函数也没有停止,而是执行到最后return了-1,于是我写下了如下测试代码:


这一波直接实锤了。。。。。。。然后去跟大佬分享这个发现:

虽然大佬对我很无语,但这并没有让我的激动减退,然后我开始查forEach这个方法的详细情况:
这才了解forEach的实现情况,于是可以用以下方法跳出循环:


如果有兴趣了解更多相关内容,欢迎来到我的个人网站看看:eyes++的个人空间

以上是关于由forEach中return无法终止函数执行引出的探究的主要内容,如果未能解决你的问题,请参考以下文章

Java8 Lambda 表达式中的 forEach 如何提前终止?

面试官:Lambda 表达式中的 forEach 如何提前终止?这次被问倒了!

面试官:Lambda 表达式中的 forEach 如何提前终止?这次被问倒了!

面试官:Lambda 表达式中的 forEach 如何提前终止?这次被问倒了!

注意forEach不能使用return跳出循环

强制终止由 Parallel.ForEach 生成的线程 [重复]