Optional实际应用

Optional实际应用

Optional的常用Api

将集合转化成另一种类型的集合

优点: 较之前更安全的操作集合,省略了判null,链式编程,且方便指定默认值

    /**
     * 将集合转化成另一种类型的集合
     */
    @Test
    public void test0() {
        List<String> list = null;
        //较之前更安全的操作集合,且方便指定默认值
        List<Long> ids = Optional
                .ofNullable(list)
                .map(s -> s
                        .stream()
                        .map(Long::valueOf)
                        .collect(Collectors.toList()))
                .orElse(null);
        System.out.println(ids);
        //改造前,省略了一次if
        if (list != null) {
            ids = list.stream()
                    .map(Long::valueOf)
                    .collect(Collectors.toList());
        }
    }

对集合进行遍历操作

优点: 较之前更安全的操作集合,省略了判null,链式编程

    /**
     * 对集合进行遍历操作
     * 优点省略了判null,链式编程
     */
    @Test
    public void test1() {
        List<String> list = Arrays.asList("优雅","链式编程");
        Optional.ofNullable(list)
                .ifPresent(s -> s.forEach(System.out::println));
        //改造前
        if (list != null) {
            list.forEach(System.out::println);
        }
    }
posted @   进击的小蔡鸟  阅读(235)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示