Alv*_*vin 0 java filtering java-stream
personList如果为空或过滤结果为空,以下将抛出异常:
Person b2cInwardAllocTxs = personList.stream()
.filter(x -> x.getName().equalsIgnoreCase("Alvin"))
.findFirst().get();
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Exception: java.util.NoSuchElementException: No value present
Run Code Online (Sandbox Code Playgroud)
如何解决错误?
实际上,我只是希望它应该返回一个对象或null.
get如果在空的 上调用将抛出异常Optional。相反,您可以使用orElse返回null:
Person b2cInwardAllocTxs =
personList.stream()
.filter(x -> x.getName().equalsIgnoreCase("Alvin"))
.findFirst()
.orElse(null);
Run Code Online (Sandbox Code Playgroud)