在 Java 里,Optional 本身只是“可能为空的值的容器”,给它“设默认值”通常分两种情况:
orElseString value = optional.orElse("default");
orElseGet(推荐,懒加载)String value = optional.orElseGet(() -> "default");
orElseThrowString value = optional.orElseThrow(() -> new RuntimeException("not found"));
如果你想 让 Optional 永远不为 empty:
Optional<String> safeOpt = optional.isPresent()
? optional
: Optional.of("default");
或更简洁:
Optional<String> safeOpt = optional.or(() -> Optional.of("default"));
✅ Java 9+ 支持 or()
optional = Optional.of("default"); // 错误:不会改变原 optional
Optional 是不可变对象,不能直接“修改”。
取值用
orElse / orElseGet,合并用or()
如果你是在 Stream、Map、Spring、Jackson 等具体场景用,可以告诉我,我给你更贴切的写法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。