stream流里面的空指针

快乐风男� 南京理工大学泰州科技学院 2021-04-30 02:56:10
List<Integer> collect = objects.stream().map(Student::getId).collect(Collectors.toList());
请教下各位,这个方法怎么避免空指针呀
比如后面紧跟查询语句的话, select * from table where id in(collect) 就不对了
...全文
230 点赞 收藏 4
写回复
4 条回复
快乐风男� 04月30日
引用 3 楼 biankobe24 的回复:
第一个filter是过滤Student不为null,第二个filter是过滤getId不为null
哦哦,还是在一层for循环做的,大佬现在有没有啥法子反推lambada表达式呀,比如推算回for,方便debug
回复 点赞
biankobe24 04月30日
第一个filter是过滤Student不为null,第二个filter是过滤getId不为null
回复 点赞
快乐风男� 04月30日
引用 1 楼 biankobe24 的回复:
List<Integer> collect = objects.stream().filter(Objects::nonNull).map(Student::getId) .filter(Objects::nonNull).collect(Collectors.toList());
解决了。这是不是有三层循环在里头了
回复 点赞
biankobe24 04月30日
List<Integer> collect = objects.stream().filter(Objects::nonNull).map(Student::getId) .filter(Objects::nonNull).collect(Collectors.toList());
回复 点赞
发动态
发帖子
Java EE
创建于2007-09-28

3.7w+

社区成员

22.5w+

社区内容

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区公告
暂无公告