当集合中包含null元素, 而使用 findFirst() 或 findAny() 方法刚好筛选到该元素时, 会触发 java.lang.NullPointerException , 因为最后的结果是通过 Optional.of(T value) 方法转换的, 该方法要求 value 不能为空.
java
List<String> list = new ArrayList<>();
Optional<String> first = list.stream().findFirst();
Optional<String> any = list.stream().findAny();