gpt4 book ai didi

java 8 java.util.function.Consumer 中断

转载 作者:太空宇宙 更新时间:2023-11-04 06:51:53 25 4
gpt4 key购买 nike

for循环和foreach可以使用break指令。但是 Java8 Consumer。

beans.forEach(v->{
if (v.id != 100){
//break or continue
}
v.doSomeThing();
});

最佳答案

如果能够摆脱 Java 8 中的辅助方法就好了,但是如果您确实需要中断循环(按照 @assylias 的建议进行过滤或设置限制,是避免这种情况的方法),那么只需编写一个辅助方法即可:

public static <T> void forEach(Iterable<T> iterable, Function<T, Boolean> f)
{
for (T item : iterable)
{
if (!f.apply(item))
{
break;
}
}
}

这个辅助方法可以像这样使用:

List<Integer> integers = Arrays.asList(1, 2, 3, 4);

forEach(
integers,
(i) -> {
System.out.println(i);
return i < 2;
}
);

打印内容:

1
2

关于java 8 java.util.function.Consumer 中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23214318/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com