java foreach 中止_如何正确终止 forEach
时间: 2023-07-19 08:40:07 浏览: 122
在 Java 中,`forEach` 是一个遍历集合或数组的方法,它会自动地迭代每个元素并执行给定的操作。如果你想在 `forEach` 中终止遍历,可以使用以下两种方法:
1. 使用异常
在 `forEach` 中使用异常是一种常见的方法,当你需要中止遍历时,可以抛出一个异常,然后在异常处理程序中退出遍历。例如:
```java
try {
list.forEach(item -> {
if (item == null) {
throw new NullPointerException();
}
// 执行其他操作
});
} catch (NullPointerException e) {
// 异常处理程序
}
```
在上面的代码中,如果遇到空元素,就会抛出 `NullPointerException` 异常,然后在异常处理程序中退出遍历。
2. 使用自定义标记
另一种方法是使用自定义标记,当你需要中止遍历时,可以将标记设置为 `true`,然后在 `forEach` 中检查标记的值,如果标记为 `true`,就退出遍历。例如:
```java
AtomicBoolean stop = new AtomicBoolean(false);
list.forEach(item -> {
if (stop.get()) {
return;
}
if (item == null) {
stop.set(true);
return;
}
// 执行其他操作
});
```
在上面的代码中,我们使用了一个 `AtomicBoolean` 类型的变量 `stop` 作为标记,初始值为 `false`。当遇到空元素时,将 `stop` 设置为 `true`,然后在 `forEach` 中检查 `stop` 的值,如果为 `true`,就退出遍历。
阅读全文