如上图所示,我们想要终止for循环,利用return。
实行结果如下:
我们可以看到,只有赵六没被打印出来,后续的数组元素依旧被实行了。

也便是说,关键字"return",在这里实行的效果相称于普通for循环里的关键词continue"。
缘故原由剖析我们知道,在普通for循环里面,想要提前结束(终止)循环体利用"break";
结束本轮循环,进行下一轮循环利用"continue";
其余,在普通for里,如果利用"return",不仅逼迫结束for循环体,还会提前结束包含这个循环体的全体方法。
而在Java8中的forEach()中,"break"或"continue"是不被许可利用的,而return的意思也不是原来return代表的含义了。
我们来看看源码:forEach(),说到底是一个方法,而不是循环体,结束一个方法的实行用什么?当然是return啦;
java8的forEach()和JavaScript的forEach()用法是何其的相似,感兴趣的可以去理解下(在文末)。
Java不是万能的,不要再吐槽它垃圾了。
办理方案方案一:利用原始的foreach循环利用过eclipse的老铁们该当知道,当我们输入:foreach,再按快捷键:Alt+/,就会涌现foreach的代码提示。
如上图所示,这种格式的for循环才是真正意义上的foreach循环。
在idea中输入,按照上述操作是不会有任何代码提示的,那如何才能在idea中,调出来呢?
for循环可以提前终止。
办法一:break注 意
文末有:7701页互联网大厂口试题
办法二:return(不推举利用)方案二:抛出非常我们知道,要想结束一个方法的实行,正常的逻辑是:利用return;
但是,在实际运行中,每每有很多不突发情形导致代码提前终止,比如:空指针非常,实在,我们也可以通过抛出假非常的办法来达到终止forEach()方法的目的。
如果以为这种办法不友好,可以再包装一层。
这样,就完美了。
这里,须要把稳的一点是:要确保你forEach()方法体内不能有其它代码可能会抛出的非常与自己手动抛出并捕获的非常一样;
否则,当真正该因非常导致代码终止的时候,由于咱们手动捕获了并且没做任何处理,岂不是搬起石头砸自己的脚吗?