java中Optional的用法
时间: 2023-07-09 11:36:31 浏览: 85
Java中的Optional是一个容器对象,它可以包含一个非空值或者空值。它可以提供一种优雅的方式来处理空指针异常。
Optional的使用方法如下:
1. 创建一个Optional对象
可以通过of()方法创建一个Optional对象,该方法要求对象不能为null,如果为null则会抛出NullPointerException异常。
```
Optional<String> optional = Optional.of("hello");
```
也可以通过ofNullable()方法创建一个Optional对象,该方法允许对象为null,如果为null则返回一个空的Optional对象。
```
Optional<String> optional = Optional.ofNullable(null);
```
2. 判断Optional对象是否包含值
可以通过isPresent()方法来判断Optional对象是否包含值,如果包含值则返回true,否则返回false。
```
Optional<String> optional = Optional.ofNullable("hello");
if (optional.isPresent()) {
System.out.println(optional.get());
}
```
3. 获取Optional对象的值
可以通过get()方法获取Optional对象的值,如果Optional对象为空,则会抛出NoSuchElementException异常。为了避免出现该异常,可以先通过isPresent()方法判断Optional对象是否包含值。
```
Optional<String> optional = Optional.ofNullable("hello");
if (optional.isPresent()) {
System.out.println(optional.get());
}
```
4. 如果Optional对象为空,则返回默认值
可以通过orElse()方法在Optional对象为空时返回一个默认值。
```
Optional<String> optional = Optional.ofNullable(null);
String result = optional.orElse("world");
System.out.println(result); // 输出:world
```
5. 如果Optional对象为空,则执行一个方法
可以通过orElseGet()方法在Optional对象为空时执行一个方法并返回其返回值。
```
Optional<String> optional = Optional.ofNullable(null);
String result = optional.orElseGet(() -> "world");
System.out.println(result); // 输出:world
```
6. 如果Optional对象不为空,则执行一个方法
可以通过ifPresent()方法在Optional对象不为空时执行一个方法。
```
Optional<String> optional = Optional.ofNullable("hello");
optional.ifPresent(System.out::println); // 输出:hello
```
阅读全文