Optional.ofNullable(参数1).orElse(参数2)

Posted ITdfq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Optional.ofNullable(参数1).orElse(参数2)相关的知识,希望对你有一定的参考价值。

  • Optional.ofNullable(参数1).orElse(参数2)
    判断参数1 是否为空,不为空,则赋值,为空则赋值参数2,避免了空指针异常
       public static void main(String[] args) 
            List<String> lists = null;
            List<String> list = new ArrayList<String>();
            list.add("你好");
            list.add("hello");
            List<String> newList = Optional.ofNullable(list).orElse(lists);
            newList.forEach(x -> System.out.println(x));
    
            System.out.println("-------------------");
            List<String> list1 = null;
            List<String> list2 = new ArrayList<String>();
            list2.add("你好");
            list2.add("hello");
            List<String> newList2 = Optional.ofNullable(list1).orElse(list2);
            newList2.forEach(x -> System.out.println(x));
        
    
    结果:

以上是关于Optional.ofNullable(参数1).orElse(参数2)的主要内容,如果未能解决你的问题,请参考以下文章

为啥使用 Optional.of 而不是 Optional.ofNullable?

Optional.ofNullable(i).ifPresent... 与 if (i != null) [重复]

Optional.ofNullable()方法使用

Optional.ofNullable()方法使用

Optional.ofNullable()方法使用

如果我们将Optional.of方法设为私有,并且只允许Java中的Optional.ofNullable,该怎么办?除了向后兼容性会有什么问题吗?