温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何创建 Optional 对象

发布时间:2026-08-31 19:23:46 来源:亿速云 阅读:88 作者:小樊 栏目:编程语言

在 Java 中,Optional 是 java.util 包下的一个容器类,用来优雅地表示一个值“可能为空”的情况。创建 Optional 对象主要有以下几种方式:


1. 使用 Optional.of()

适用于:确定值不为 null

Optional<String> opt = Optional.of("Hello");

⚠️ 如果传入 null,会抛出 NullPointerException:

Optional<String> opt = Optional.of(null); // NullPointerException

2. 使用 Optional.ofNullable()

适用于:值可能为 null

Optional<String> opt = Optional.ofNullable(null);     // 空 Optional
Optional<String> opt2 = Optional.ofNullable("Hello"); // 有值

这是最常用、最安全的方式。


3. 使用 Optional.empty()

适用于:明确创建一个“空值”容器

Optional<String> opt = Optional.empty();

4. 基本类型专用的 Optional(不常用但存在)

Java 为性能考虑提供了专门版本:

OptionalInt optInt = OptionalInt.of(10);
OptionalLong optLong = OptionalLong.of(100L);
OptionalDouble optDouble = OptionalDouble.of(3.14);

⚠️ 一般推荐使用 Optional<T>,而不是基本类型版本。


5. 常见使用场景示例

避免 null 判断

Optional<String> name = Optional.ofNullable(getName());

name.ifPresent(System.out::println);

提供默认值

String result = Optional.ofNullable(getName()).orElse("default");

抛异常

String result = Optional.ofNullable(getName())
                       .orElseThrow(() -> new RuntimeException("name is null"));

总结

方法 适用情况
Optional.of() 确定不为 null
Optional.ofNullable() 可能为 null ✅ 推荐
Optional.empty() 明确表示空值

如果你愿意,我也可以讲 Optional 的最佳实践 / 常见误用。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手