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

时间:2026-02-15 06:43:13

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使用

© 2026 海能知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com