Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 有没有一种方法可以把;“继续”;在foreach arraylist中_Java_Arrays_Java 8_Break_Continue - Fatal编程技术网

Java 有没有一种方法可以把;“继续”;在foreach arraylist中

Java 有没有一种方法可以把;“继续”;在foreach arraylist中,java,arrays,java-8,break,continue,Java,Arrays,Java 8,Break,Continue,break和continue语句在Array.forEach(..)中不起作用。 还有其他方法吗?在Java 8中不能这样做。您可以使用异常来中断代码。这并不漂亮,但如果你需要的话,这是可行的 像这样: try { Array.forEach((x) -> { if (condition) { throw new MyException(); } }); } catch (MyException e) { // bro

break和continue语句在Array.forEach(..)中不起作用。
还有其他方法吗?

在Java 8中不能这样做。您可以使用
异常
来中断代码。这并不漂亮,但如果你需要的话,这是可行的

像这样:

try {
    Array.forEach((x) -> {
       if (condition) {
          throw new MyException();
       }
    });
} catch (MyException e) {
    // broke from loop
}

您只需在lambda中不执行任何操作,而不显式调用
continue
。这取决于特定的用例。您可以使用
filter
来筛选出希望“继续”循环的元素,并且可以根据用例做很多事情来代替中断(
limit()
findFirst()
,等等)。简言之,函数式编程不能很好地处理过程实体,如break和continue
forEach
不是一个控制结构,它是一个方法。但这将中断整个循环的执行。这是中断的正常行为