Optional orElse
时间: 2024-08-17 17:02:50 浏览: 47
`Optional` 是 Java 8 引入的一个容器类,用于表示可能存在也可能不存在的数据。它的主要作用是在处理可能为 `null` 的值时提供更安全的方式。`orElse()` 方法是 `Optional` 类中的一个方法,当 `Optional` 对象不包含实际值(即调用 `.isPresent()` 返回 false)时,会执行这个方法并返回指定的默认值。
`orElse(T other)` 的签名如下:
```java
default T orElse(T other) {
return getOrDefault(other);
}
```
这里的 `T` 是泛型类型,`other` 参数是你希望在 `Optional` 为空时使用的默认值。这个方法的行为等同于 `getOrDefault(other)`,但语法更简洁,同时避免了 `if (optional.isPresent())` 这样的条件检查。
使用示例:
```java
Optional<String> optional = Optional.ofNullable("Hello");
String value = optional.orElse("Default Value"); // 如果optional有值,则返回"Hello", 否则返回"Default Value"
String anotherValue = optional.orElseGet(() -> "Generated Default Value"); // 如果optional没有值,会调用此 lambda 表达式生成一个新值
```
阅读全文