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())); }
2、查看程序运行结果:
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()); }
4、查看程序运行结果:
5、如何避免空指针异常@Test public void test8() { Optional<Dept> optional = Optional.empty(); System.out.print(optional.get().getStatus().getName()); }
6、查看运行结果: