gpt4 book ai didi

Java 流 : throwing exception from stream depending upon value in stream

转载 作者:搜寻专家 更新时间:2023-11-01 01:50:26 25 4
gpt4 key购买 nike

考虑下面的虚拟代码:

List<Integer> intList = new ArrayList<>();
intList.add(10);
intList.add(20);
intList.add(30);

intList.stream().filter(i -> i > 40)
.throwIf(size of list <= 0)
.collect(Collectors.toList());

Java 流中是否有任何功能可以实现类似上述代码的功能?

注意:上面的代码只是我正在做的事情的代表,并不是我要找的确切代码。

最佳答案

您可以检查是否有任何元素通过了您的过滤器,如果没有则使用OptionalorElseThrow 抛出异常:

Integer match = 
intList.stream()
.filter(i -> i > 40)
.findAny()
.orElseThrow(...);

当然,当没有抛出异常时,这只会给你一个通过过滤器的元素,所以我不确定它是否正是你想要的。

关于Java 流 : throwing exception from stream depending upon value in stream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35766126/

25 4 0