前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Optional判断集合

Optional判断集合

作者头像
IT云清
发布2021-12-06 14:15:29
9730
发布2021-12-06 14:15:29
举报
文章被收录于专栏:IT云清
集合判断还是用CollectionUtils,Optional有潜在的风险
代码语言:javascript
复制
public static void main(String[] args) {
        //null不执行
        List<User> list  = null;
        Optional.ofNullable(list).ifPresent(ll -> System.out.println("数据1:"+ll.toString()));

        //不为null,但是这个用法需要分场景
        //size=0的,可以理解为找数据没有找到符合条件的,这个size=0承载着业务含义。
        //但是有没有可能给上有带来NPE呢?或者业务走向不符合预期
        list = new ArrayList<>();
        Optional.ofNullable(list).ifPresent(ll -> System.out.println("数据2:"+ll.toString()));

        //这里不符合预期
        Optional.ofNullable(list).ifPresent(ll -> {
            System.out.println("操作啦啦啦啦");//可能不符合预期,如果用!CollectionUtils.isEmpty(list)判断,这里不会执行
            //!CollectionUtils.isEmpty(list)会规避null和[],而这里无法规避[]
            ll.forEach(l-> System.out.println("遍历:"+l.toString()));
        });

        User user = new User();
        user.setCalcField("name");
        list.add(user);
        Optional.ofNullable(list).ifPresent(ll -> System.out.println("数据3:"+ll.toString()));
    }
结果
代码语言:javascript
复制
数据2:[]
操作啦啦啦啦
数据3:[User(calcField=name, definitionList=null)]
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/03/17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 集合判断还是用CollectionUtils,Optional有潜在的风险
  • 结果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档