JDK8新特性foreach 跳出循环
时间: 2023-09-22 18:13:11 浏览: 107
深入解析Jdk8中Stream流的使用让你脱离for循环
在 JDK 8 中,可以使用 `break` 和 `return` 关键字来跳出 `forEach` 循环。这里有一些方法可以做到这一点:
1. 使用 `return`:在 `forEach` 方法中,可以使用 `return` 关键字来跳出循环并返回。这将终止当前的迭代并从 `forEach` 方法中返回。
示例代码:
```java
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
numbers.forEach(number -> {
if (number == 5) {
return; // 跳出循环
}
System.out.println(number);
});
```
上述代码将打印输出 1 到 4。
2. 使用自定义异常:可以定义一个自定义的异常,在需要跳出循环时抛出该异常。然后在 `forEach` 方法中捕获该异常,并在捕获到异常后执行相应的操作。
示例代码:
```java
class BreakLoopException extends RuntimeException {
// 自定义异常
}
List<Integer> numbers = Arrays.asList(1,2, 3, 4, 5, 6, 7, 8, 9, 10);
try {
numbers.forEach(number -> {
if (number == 5) {
throw new BreakLoopException(); // 抛出自定义异常跳出循环
}
System.out.println(number);
});
} catch (BreakLoopException e) {
// 捕获自定义异常
}
```
上述代码同样会打印输出 1 到 4。
请注意,这种方式并不是官方推荐的用法,因为使用异常来控制流程可能会使代码难以理解和维护。因此,在大多数情况下,建议使用其他循环语句(如 `for` 或 `while`)来实现需要跳出循环的逻辑。
阅读全文