如果流未返回任何结果,Java8将引发异常
我很好奇,在以下情况下是否可以使用orElseThrow(),或者是否有更多的Java 8方法可以将其等效为1-liner
Collection<Foo> foo = blah.stream().filter(somePredicate).collect(Collectors.toList());
if (foo.isEmpty()) {
throw new Exception("blah");
}
你可以在下面搜索框中键入要查询的问题!
我很好奇,在以下情况下是否可以使用orElseThrow(),或者是否有更多的Java 8方法可以将其等效为1-liner
Collection<Foo> foo = blah.stream().filter(somePredicate).collect(Collectors.toList());
if (foo.isEmpty()) {
throw new Exception("blah");
}
# 1 楼答案
你可以试试这个:
请注意,与您的代码相比,这会分配一个额外的
Optional
实例