map和flatMap的区别(map和flatMap的区别)

  本篇文章为你整理了map和flatMap的区别(map和flatMap的区别)的详细内容,包含有map和flatmap的区别和理解js map和flatMap的区别 map与flatmap的区别 flatmap与map怎么都理解不了 map和flatMap的区别,希望能帮助你了解 map和flatMap的区别。

  转自:

  http://www.java265.com/JavaCourse/202206/3666.html

  Optional 类简介:

   Java8 新增了非常多的特性,而Optional 类就是其中一个新增的类

   Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。

   Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。

   Optional 类的引入很好的解决空指针异常

  下文笔者讲述Optional类中map和flatMap的区别说明,如下所示

  

 map和flatMap的区别

 

   map方法:接受一个映射函数参数,返回一个被Optional包装的结果。若结果为空,则返回 空Optional

   flatMap方法:接受一个返回值为Optional的映射函数参数,该返回值亦是flatMap方法的返回值

   若结果为空,则返回 空Optional。

  

 

  例

  

 public class User {

 

   String name;

   Integer age;

   public User(){

   public User(String name, Integer age){

   this.name = name;

   this.age = age;

   ... // getter setter

   @Test

   void mapOptionalTest(){

   User user = new User("java265.com",88);

   Optional Optional String optionalOptional = Optional.ofNullable(user).map(this::getName);

   Optional String mapOptional = Optional.ofNullable(user).map(s - s.getName());

   Optional String flatOptional = Optional.ofNullable(user).flatMap(this::getName);

   private Optional String getName(User user){

   return Optional.ofNullable(user).map(s - s.getName());

   }

 

  以上就是map和flatMap的区别(map和flatMap的区别)的详细内容,想要了解更多 map和flatMap的区别的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: