Optional用法
时间: 2024-06-15 12:06:15 浏览: 162
Optional是Java 8引入的一个类,用于解决空指针异常的问题。它可以包装一个可能为空的值,并提供了一些方法来处理这个值。下面是Optional的用法:
1. 创建Optional对象:
- 使用`Optional.of(value)`方法创建一个包含非空值的Optional对象。
- 使用`Optional.empty()`方法创建一个空的Optional对象。
- 使用`Optional.ofNullable(value)`方法创建一个包含可能为空值的Optional对象。
2. 判断Optional对象是否包含值:
- 使用`isPresent()`方法判断Optional对象是否包含非空值。
- 使用`isEmpty()`方法判断Optional对象是否为空。
3. 获取Optional对象的值:
- 使用`get()`方法获取Optional对象中的值,如果Optional对象为空,则会抛出NoSuchElementException异常。
- 使用`orElse(defaultValue)`方法获取Optional对象中的值,如果Optional对象为空,则返回默认值defaultValue。
- 使用`orElseGet(supplier)`方法获取Optional对象中的值,如果Optional对象为空,则通过supplier提供的函数生成一个默认值。
- 使用`orElseThrow(exceptionSupplier)`方法获取Optional对象中的值,如果Optional对象为空,则抛出由exceptionSupplier提供的异常。
4. 处理Optional对象的值:
- 使用`ifPresent(consumer)`方法对Optional对象中的值进行处理,如果Optional对象非空,则执行consumer提供的操作。
- 使用`map(mapper)`方法对Optional对象中的值进行映射转换,返回一个新的Optional对象。
- 使用`flatMap(mapper)`方法对Optional对象中的值进行映射转换,返回一个新的Optional对象,但是如果mapper返回的是Optional对象,则不会嵌套包装。
阅读全文