| 方法名 | 参数 | 方法描述 |
|---|---|---|
| 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值 |
原文:https://www.cnblogs.com/mz-wesley/p/15197579.html