gpt4 book ai didi

java - 流和功能接口(interface) : throw exception inside stream and aggregate them

转载 作者:行者123 更新时间:2023-11-30 07:46:54 24 4
gpt4 key购买 nike

我是流媒体和函数式界面的新手,只是想知道是否可以通过它们完成此要求。给定一个整数数组,如果其中任何一个为负数,则不处理而是抛出包含所有负整数的异常。

Example: INPUT = [0, -1, -2] 
EXPECTED Exception: invalid integers: (-1, -2).

我确实知道如何使用 for 循环来做到这一点,但我真的很想知道这是否可以通过流和功能接口(interface)来实现。因此,我们将不胜感激。

int [] input = {0, -1, -2};
List<Integer> negatives = new LinkedList<>();

for (int i : input) {
if (i < 0) {
negatives.add(i);
}
}

if (negatives.isEmpty() == false) {
throw new IllegalArgumentException("Invalid integers: " + negatives);
}

最佳答案

我会用一个简单的过滤器来编写它:

final List<Integer> invalid = Arrays.asList(0, -1, -2).stream()
.filter(i -> i < 0)
.collect(Collectors.toList());

if (!invalid.isEmpty()) throw new RuntimeException("Invalid integers " + invalid);

关于java - 流和功能接口(interface) : throw exception inside stream and aggregate them,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50271218/

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