本篇文章为你整理了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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。