将for循环从java 7转换为java 8(lambda)

liwlm1x9  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(424)

关闭。这个问题需要详细或明确。它目前不接受答案。
**想改进这个问题吗?**编辑这篇文章,添加细节并澄清问题。

两天前关门了。
改进这个问题
希望将以下for循环从Java7转换为Java8(lambda)。

for (Employee e : list) {
    session.evict(e);
}

这里,会话是hibernate会话。我在这里的意图是将上面提到的工作java 7代码更改为具有lambda特性或方法引用的java 8。

yduiuuwa

yduiuuwa1#

可以将表达式切换到方法引用lambda:

list.forEach(session::evict);

注意,如果 Session.evict 抛出异常,然后您需要捕获/转换为 RuntimeException 为了使上面的代码能够编译,或者在循环中使用更长形式的lambda。

list.forEach(e -> {
    try {
        session.evict(e);
    } catch (Exception ex) {
        throw new RuntimeException(ex);
    }
});

相关问题