java - 在 lambda 中抛出异常 - java 8

标签 java lambda java-8

我正在使用 lambda 表达式。这相当于什么:

for (Integer id: ids) {
    if (!repository.exists(id)) {
        throw new Exception .....
    }
}

我尝试使用这个:

ids.stream().filter(id-> repository.exists(idStatut)).findAny().orElseThrow(() ->
                new Exception...
            );

但是效果不太好

最佳答案

根据您的原始循环,如果任何 Integer 未通过过滤器,您希望引发异常:

if (ids.stream().anyMatch(id -> !repository.exists(id)))
    throw new Exception ...

关于java - 在 lambda 中抛出异常 - java 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47990208/

相关文章:

c# - Array.Sort 静态函数的 Lambda 表达式不明确

Java流过滤器值的总和

java代码来计算某个数字的倍数?

java - JPA java.util.Date 问题

java - jackson JsonMappingException : Unrecognized column 'C' : known columns {"A" ,"B"}

java - 智能Java 8

java - 通过 Collections.synchronizedSet(...).forEach() 进行的迭代是否保证是线程安全的?

java - 在 freemarker 模板中获取 contextPath 来链接其他 servlet

java - 在字节码级别理解Java 8流

lambda - 使用 Java 8 流迭代两个列表