Optional概述
Optional是在java8中引入的,这个类是一个可以为null的容器对象,常用方法调用isPresent()方法会判断值是否存在,调用get()方法会返回该对象,map()方法如果有值。
这个类中包含的方法
of():实例Optional name=Optional.of(“zzz”);
使用of方法时传入的参数不能为null,否则会抛空指针异常。
ofNullable():为指定的值创建一个Optional,如果指定的值为null则返回一个空的Optional
isPresent():如果值存在就返回true,不存在返回false
get():如果这个Optional有值就将其返回否则抛出异常
ifPresent():如果这个Optional实例有值就调用他的消费者方法
orElse():如果有之就将其返回,否则返回指定的其他值
orElseGet():在得到默认值后,orElseGet方法可以将生产者接口的实现来生成默认值
map():如果有值就执行调用mapping函数得到返回值,相当于得到一个映射,如果这个返回值不为null,就创建一个包含mapping返回值的Optional对象作为map方法的返回值,否则返回一个空的Optional对象
flatMap():和map方法类似,区别在于mapping函数的返回值不同,map方法的返回值可以使任意类型,flatMap的方法的返回值必须是Optional类型
filter():相当于一个过滤器,有值并且满足条件返回包含该值的Optional,否则返回空的Optional