java8 findAny()、findFirst()空指针NullPointerException问题

https://blog.csdn.net/weixin_42260124/article/details/118370664

findFirst(),返回的是一个Optional,,,一般的Optional都不允许有null值,,

java 复制代码
Optional.of(value)  // value为null 报错
Optional.ofNullable() // 才能放null

findFirst()findAny() 就是不允许为null的Optional,,如果返回的stream中有null,然后再去findFirst取这个null,就会报空指针

java 复制代码
xxxService.getBaseMapper().selectObjs(qr).stream().filter(Objects::nonNull).findFirst()

filter(Objects::nonNull)将空值过滤掉