前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >hutool的Opt工具类,非空判断

hutool的Opt工具类,非空判断

作者头像
倾盖
发布2022-08-16 14:29:55
2.5K0
发布2022-08-16 14:29:55
举报
文章被收录于专栏:RivenCabinRivenCabin

一、Hutool🐂🍺:Opt (hutool-码云(gitee.com))

二、我的demo

代码语言:javascript
复制
@Test
    void testHutool() {
        List<String> objects = new ArrayList<>();

        /*
         * 为空的情况
         * */
        System.out.println("\n\n\n为空的情况==================================");
        System.out.println("Opt.empty() = " + Opt.empty());
        System.out.println("Opt.of(objects) = " + Opt.of(objects));
        System.out.println("Opt.ofNullable(objects) = " + Opt.ofNullable(objects));
        System.out.println("Opt.ofBlankAble(objects) = " + Opt.ofBlankAble(objects));
        System.out.println("Opt.ofEmptyAble(objects) = " + Opt.ofEmptyAble(objects));
        System.out.println("objects.isEmpty() = " + objects.isEmpty());
        Opt.ofEmptyAble(objects).ifPresent(strings -> System.out.println("strings = " + strings));
        Opt.ofEmptyAble(objects).ifPresentOrElse(Console::log, () -> Console.error("传入的值不存在呢"));
        System.out.println("Opt.ofEmptyAble(objects).filter(strings -> strings.size() > 10) = " + Opt.ofEmptyAble(objects).filter(strings -> strings.size() > 10));
        Opt.ofEmptyAble(objects).peek(System.out::println);
        Opt.ofEmptyAble(objects).peeks(strings -> System.out.println("strings.size() = " + strings.size()));



        /*
        不为空的情况
         */
        System.out.println("\n\n\n不为空的情况==================================");
        objects.add("张三");
        objects.add("李四");
        objects.add("王五");
        objects.add("赵六");
        objects.add(null);
        objects.add(" ");
        System.out.println("Opt.of(objects) = " + Opt.of(objects));
        System.out.println("Opt.ofNullable(objects) = " + Opt.ofNullable(objects));
        System.out.println("Opt.ofBlankAble(objects) = " + Opt.ofBlankAble(objects));
        System.out.println("Opt.ofEmptyAble(objects) = " + Opt.ofEmptyAble(objects));
        System.out.println("Opt.ofEmptyAble(objects).get() = " + Opt.ofEmptyAble(objects).get());
        System.out.println("objects.isEmpty() = " + objects.isEmpty());
        Opt.ofEmptyAble(objects).ifPresent(strings -> System.out.println("strings = " + strings));
        Opt.ofEmptyAble(objects).ifPresentOrElse(Console::log, () -> Console.error("传入的值不存在呢"));
        System.out.println("Opt.ofEmptyAble(objects).filter(strings -> strings.size() > 10) = " + Opt.ofEmptyAble(objects).filter(strings -> strings.size() > 3));
        Opt.ofEmptyAble(objects).peek(System.out::println);
        Opt.ofEmptyAble(objects).peeks(strings -> System.out.println("strings.size() = " + strings.size()));



        /*
        其他东西
         */
        System.out.println("\n\n\n其他东西===========================");
        int num1 = 100;
        int num2 = 11;
        System.out.println("Opt.ofTry(() -> num1 + num2) = " + Opt.ofTry(() -> num1 + num2));
    }

三、运行结果:

代码语言:javascript
复制
为空的情况==================================
Opt.empty() = null
Opt.of(objects) = []
Opt.ofNullable(objects) = []
Opt.ofBlankAble(objects) = []
Opt.ofEmptyAble(objects) = null
objects.isEmpty() = true
传入的值不存在呢
Opt.ofEmptyAble(objects).filter(strings -> strings.size() > 10) = null



不为空的情况==================================
Opt.of(objects) = [张三, 李四, 王五, 赵六, null,  ]
Opt.ofNullable(objects) = [张三, 李四, 王五, 赵六, null,  ]
Opt.ofBlankAble(objects) = [张三, 李四, 王五, 赵六, null,  ]
Opt.ofEmptyAble(objects) = [张三, 李四, 王五, 赵六, null,  ]
Opt.ofEmptyAble(objects).get() = [张三, 李四, 王五, 赵六, null,  ]
objects.isEmpty() = false
strings = [张三, 李四, 王五, 赵六, null,  ]
[张三, 李四, 王五, 赵六, null,  ]
Opt.ofEmptyAble(objects).filter(strings -> strings.size() > 10) = [张三, 李四, 王五, 赵六, null,  ]
[张三, 李四, 王五, 赵六, null,  ]
strings.size() = 6



其他东西===========================
Opt.ofTry(() -> num1 + num2) = 111
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Hutool🐂🍺:Opt (hutool-码云(gitee.com))
  • 二、我的demo
  • 三、运行结果:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档