📜  Java中的可选 or() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:31:58.439000             🧑  作者: Mango

Java中的可选 or() 方法及示例

介绍

Java的 Optional 类提供了 or() 方法,该方法用于获取当前 Optional 对象或提供备选对象。

如果当前 Optional 对象存在值,则返回该值,否则返回提供的备选对象。如果备选对象为 null,则返回一个空 Optional 对象。

语法
public Optional<T> or(Optional<? extends T> other)

其中,T 表示要包装的值的类型。

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

// 创建一个包含值的 Optional 对象
Optional<String> presentOptional = Optional.of("present value");

// 创建一个备选对象
Optional<String> otherOptional = Optional.of("other value");

// 使用 or() 方法获取当前 Optional 对象或备选对象
Optional<String> result1 = emptyOptional.or(otherOptional); // 返回 "other value"
Optional<String> result2 = presentOptional.or(otherOptional); // 返回 "present value"
Optional<String> result3 = presentOptional.or(Optional.empty()); // 返回 "present value"
Optional<String> result4 = emptyOptional.or(Optional.empty()); // 返回一个空的 Optional 对象

// 使用 orElse() 方法获取当前 Optional 对象或备选对象
String result5 = emptyOptional.orElse("other value"); // 返回 "other value"
String result6 = presentOptional.orElse("other value"); // 返回 "present value"
String result7 = emptyOptional.orElse(null); // 返回 null
String result8 = presentOptional.orElse(null); // 返回 "present value"

以上示例中,我们首先创建了三个 Optional 对象,一个是空的,一个包含值的,一个是备选对象。

然后,我们使用 or() 方法获取当前 Optional 对象或备选对象。在第一个例子中,因为空的 Optional 对象没有值,所以返回备选对象;在第二个例子中,因为包含值的 Optional 对象已经有值了,所以返回当前对象;在第三个例子中,即使备选对象是空的,也会返回当前对象的值;在第四个例子中,因为当前对象和备选对象都没有值,所以返回一个空的 Optional 对象。

最后,为了方便,我们还展示了使用 orElse() 方法获取当前 Optional 对象或备选对象的用法,其结果同 or() 方法类似。