Optional.orElse()

源码

    public T orElse(T other) {
        return value != null ? value : other;
    }

简述

`orElse()` 是 Java 中 Optional 类提供的方法之一。它的作用是,如果 Optional 对象中的值存在,

则返回该值;如果值不存在,则返回一个指定的默认值。 

该方法接受一个类型为T的参数other,用于指定当值不存在时的默认值。

方法内部通过判断value是否为null来决定返回value还是other。

返回值的类型为T,即方法的返回值类型与存储的值类型相同。

实例

Optional<String> optional = Optional.of("Hello");
String result1 = optional.orElse("World");
// result1 = "Hello"

Optional<String> optional2 = Optional.empty();
String result2 = optional2.orElse("World");
// result2 = "World"

该方法适用于Optional类型的对象,用于处理值可能存在或不存在的情况。通过调用orElse方法,可以提供一个默认值,以避免在值不存在时引发空指针异常。

简单的示例代码,演示了 `orElse()` 方法的用法:



```java
import java.util.Optional;

public class Main {
public static void main(String[] args) {
// 创建一个包含值的 Optional 对象
Optional<String> optionalWithValue = Optional.of("Hello");

// 使用 orElse() 获取 Optional 对象中的值(如果存在)
String value1 = optionalWithValue.orElse("Default Value");
System.out.println("Value 1: " + value1); // 输出:Value 1: Hello

// 创建一个空的 Optional 对象
Optional<String> optionalEmpty = Optional.empty();

// 使用 orElse() 获取 Optional 对象中的值(如果不存在)
String value2 = optionalEmpty.orElse("Default Value");
System.out.println("Value 2: " + value2); // 输出:Value 2: Default Value
}
}
```

在上面的示例中,我们首先创建了一个包含值的 Optional 对象 `optionalWithValue`,然后调用了 `orElse("Default Value")` 方法获取其中的值。由于 Optional 对象中的值存在,因此会返回该值 "Hello"。接着,我们创建了一个空的 Optional 对象 `optionalEmpty`,同样调用了 `orElse("Default Value")` 方法来获取其中的值。由于 Optional 对象中的值不存在,所以会返回指定的默认值 "Default Value"。

需要注意的是,`orElse()` 方法返回的是包含实际值或默认值的对象,而不是实际值本身。这样做的好处是避免了对 null 进行处理,更加安全和可靠。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L.2626

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值