Optional是一个容器,避免空指针
①创建Optional类对象的方法
optional.of(T t):创建一个optional实例,t必须为空
optional.empty():创建一个空的optional实例
optional.ofNullable(T t):可以为Null
②判断optional容器是否包含对象
boolean is present() :判断是否包含对象
void ifpresent(cosumber<? super T> com=nsumer): 如果有值,就执行Consumer接口的实现代码,并且该值会作为参数传给它
③获取optional容器对象
T get() :如果调用对象,包含值,返回该值,否则执行异常
T orElse(T other):如果有值,将其返回,否则返回指定other对象
T orElseGet(supplier<? extends T> other) :如果 有值 ,将其返回,否则返回由suoolier接口实现提供的对象
T orElseGet(supplier<? extends X> EXception) :如果 有值 ,将其返回,否则返回由suoolier接口实现提供的异常