Optional 类
基本介绍

相关方法

注意:调用 Optional . of(T t )方法创建对象时,t 必须非空
示例代码
java
import java.util.Optional;
public class OptionalExample {
public static void main(String[] args) {
String name = "John"; // 创建一个包含值的字符串变量
// 使用 Optional 来包装可能为 null 的值
Optional<String> optionalName = Optional.ofNullable(name);
// 检查值是否存在
if (optionalName.isPresent()) {
// 如果值存在,打印该值
System.out.println("Name is: " + optionalName.get());
} else {
// 如果值为空,打印提示信息
System.out.println("Name is not present");
}
// 使用 ifPresent() 如果值存在则执行代码
optionalName.ifPresent(n -> System.out.println("Name (using ifPresent): " + n));
// 使用 orElse() 如果值不存在则提供默认值
String defaultName = optionalName.orElse("Default Name");
System.out.println("Name (using orElse): " + defaultName);
}
}
// 输出结果
Name is: John
Name (using ifPresent): John
Name (using orElse): John代码解释
(1)Optional.ofNullable(name):创建一个 Optional 对象,它可能包含一个值,也可能为空
(2)isPresent():检查 Optional 中是否有值
(3)get():如果值存在,获取该值
(4)ifPresent():如果 Optional 中有值,执行给定的 Lambda 表达式
(5)orElse():如果 Optional 为空,提供一个默认值
实际应用
在主函数中调用该方法,如果不为空则返回传入值,否则返回 orElse 中的默认值
java
public static String getNameOrDefault(String name) {
// 使用 Optional 判断是否为空,如果为空返回默认值
return Optional.ofNullable(name).orElse("Default Name");
}