在 Java 中,Optional 是 java.util 包下用于避免 NullPointerException 的容器类。常见创建方式如下:
Optional.of(T value)要求值不能为 null,否则会抛 NullPointerException
Optional<String> opt = Optional.of("hello");
Optional.ofNullable(T value)允许值为 null,如果是 null,返回 Optional.empty()
Optional<String> opt = Optional.ofNullable(null); // 不会抛异常
Optional.empty()表示一个不存在的值
Optional<String> opt = Optional.empty();
new Optional<>(value)Optional 的构造方法是 private,不能直接 new
// 编译错误
// Optional<String> opt = new Optional<>("x");
Optional<String> name = Optional.ofNullable(getName());
name.ifPresent(System.out::println);
String result = name.orElse("default");
| 方法 | 是否允许 null | 说明 |
|---|---|---|
Optional.of() |
❌ 不允许 | 值必须存在 |
Optional.ofNullable() |
✅ 允许 | 最常用 |
Optional.empty() |
✅ | 明确表示空值 |
如果你是想了解 Stream 中怎么用 Optional、Optional 链式处理 或 和 JSON / 数据库结合使用,也可以继续问我。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。