java8 stream findfirst().get()空指针
List<Integer> a = Arrays.asList(1, 2, 3);
Integer b = a.stream().filter(x -> x.equals(4)).findFirst().get();
System.out.println(b);
Exception in thread “main” java.util.NoSuchElementException: No value present
at java.util.Optional.get(Optional.java:135)
解决方法:将.get()替换为.orElse(null),这样就会返回null值了。
本文深入探讨了Java8中Stream API的findFirst()方法在处理空值时引发的NoSuchElementException异常。通过具体示例展示了当过滤条件不匹配时,findFirst()返回的Optional对象为空,直接调用get()会抛出异常。文章提供了解决方案,建议使用orElse(null)替代get(),以优雅地处理不存在的情况。
9万+

被折叠的 条评论
为什么被折叠?



