java8新特性Optional容器类map,flatMap使用

2025-10-31 08:34:55

1、public<U> Optional<U> map(Function<? super T, ? extends U> mapper)

如果有值对其处理,并返回处理后的Optional,否则返回Optional.empty()

public void test0() {

        Optional<Dept> optional = Optional.

                ofNullable(new Dept(Dept.Status.FREE,1668L,

                        "阿里巴部门","杭州"));

        System.out.println(optional.map((e) -> e.getDeptno()));

    }

java8新特性Optional容器类map,flatMap使用

2、查看程序运行结果:

java8新特性Optional容器类map,flatMap使用

3、public<U> Optional<U> flatMap(Function<? super T, Optional<U>> mapper)

如果有值对其处理,并返回处理后的Optional,要求返回值必须是Optional

@Test

    public void test6() {

        Optional<Dept> optional = Optional.

                ofNullable(new Dept(Dept.Status.FREE,1668L,

                        "阿里巴部门","杭州"));

        Optional<Long> op =  optional.flatMap((e) -> Optional.of(e.getDeptno()));

        

        System.out.println(op.get());

    }

java8新特性Optional容器类map,flatMap使用

4、查看程序运行结果:

java8新特性Optional容器类map,flatMap使用

5、如何避免空指针异常

@Test

    public void test8() {

        Optional<Dept> optional = Optional.empty();

        

        System.out.print(optional.get().getStatus().getName());

    }

java8新特性Optional容器类map,flatMap使用

6、查看运行结果:

java8新特性Optional容器类map,flatMap使用

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢