of |
T value |
接收T类型对象封装为一个Optional对象,value不能为null,否则会抛出空指针异常 |
ofNullable |
T value |
接收T类型对象封装为一个Optional对象,value可以为null |
orElse |
T other |
如果Optional对象为空,返回 T 类型的other对象 |
orElseGet |
Supplier<? extends T> other |
如果Optional对象为空,可以传入一个函数式接口,该函数式接口没有参数,返回一个T类型的对象 |
orElseThrow |
Supplier<? extends X> exceptionSupplier |
如果Optional对象为空,通过函数式接口抛出异常 |
get |
空 |
如果Optional中有值存在,返回该值,否在抛出NoSuchElementException("No value present")异常 |
empty |
空 |
创建一个空的Optional对象 |
filter |
Predicate<? super T> predicate |
如果函数式接口predicate返回true,则返回Optional对象,否则返回一个空的Optional对象 |
map |
Function<? super T, ? extends U> mapper |
如果Optional中的值存在,调用mapper函数式接口对Optional中的值进行操作并返回新的Optional对象 |
flatMap |
Function<? super T, Optional> mapper
|
如果Optional中的值存在,调用mapper函数式接口对Optional中的值进行操作并返回一个新的Optional对象,否则返回一个空对象 |
isPresent |
空 |
Optional中的value值是否为null,如果是null就返回false,否则就返回true |
ifPresent |
Consumer<? super T> consumer |
如果Optional中的值不为空,调用consumer函数式接口操作当前Optional对象中的value值 |