Optional.flatMap 和 Optional.map 有什么区别?

发布于 2022-07-28 23:03:54

这两种方法有什么区别:Optional.flatMap()Optional.map()

一个例子将不胜感激。

关注者
0
被浏览
12
1 个回答
  • 面试哥
    面试哥 2022-07-28
    为面试而生,有面试问题,就找面试哥。

    如果map函数返回您需要的对象或flatMap函数返回Optional. 例如:

    public static void main(String[] args) {
      Optional<String> s = Optional.of("input");
      System.out.println(s.map(Test::getOutput));
      System.out.println(s.flatMap(Test::getOutputOpt));
    }
    
    static String getOutput(String input) {
      return input == null ? null : "output for " + input;
    }
    
    static Optional<String> getOutputOpt(String input) {
      return input == null ? Optional.empty() : Optional.of("output for " + input);
    }
    

    两个打印语句都打印相同的内容。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看