首页 > Java > java教程 > 正文

OptionalifPresent() 与OptionalorElse() 有何不同?

霞舞
发布: 2024-12-15 12:21:25
转载
913人浏览过

optionalifpresent() 与optionalorelse() 有何不同?

optional.ifpresent()和optional.orelse()是java的optional类中的两个方法,旨在优雅地处理可选值,但它们的用途不同,使用场景也不同。

1。可选.ifpresent()

如果可选值中存在值,则 ifpresent() 方法将执行给定的操作。当该值存在时,它通常用于产生副作用。

主要特征:

动作执行:
仅当optional包含值时才执行指定的消费者。

无返回值:
它不返回任何内容(void 方法)。

optional<string> optional = optional.of("hello");

optional.ifpresent(value -> system.out.println("value is: " + value));
// output: value is: hello

optional<string> emptyoptional = optional.empty();
emptyoptional.ifpresent(value -> system.out.println("value is: " + value));
// no output since the optional is empty.

登录后复制

用例:

如果值存在则执行操作(例如,记录、更新状态)。
在对值进行操作之前避免显式的 null 检查。

2。可选.orelse()

云枫企业网站源代码第三版1.0
云枫企业网站源代码第三版1.0

云枫工作室企业网站Version3.0是由云枫工作室独立开发的一个适用于普通企业的网站展示系统.系统环境:asp+access(注:网站风格是与其它版本不相同的,并不是其它版本的升级版)网站功能主要有新闻管理系统、信息管理系统、产品管理系统、人才招聘管理、友情链接管理、通讯信息管理、留言信息管理使用步骤1、把网站源代码拷贝到服务器空间的根目录下。(注:服务器空间需支持ASP脚本运行)2、网站后台地

云枫企业网站源代码第三版1.0 0
查看详情 云枫企业网站源代码第三版1.0

orelse() 方法返回optional 中包含的值,如果optional 为空,则返回默认值。

主要特征:

返回值:
始终返回一个值,可以是包含的值,也可以是默认值。
无副作用:
不执行任何操作,仅返回值。

optional<string> optional = optional.of("hello");
string value = optional.orelse("default");
system.out.println(value); // output: hello

optional<string> emptyoptional = optional.empty();
string emptyvalue = emptyoptional.orelse("default");
system.out.println(emptyvalue); // output: default

登录后复制

用例:

当optional为空时提供后备/默认值。
确保始终从optional返回非空值。

将两者结合在一个场景中

示例:
您有一个代表用户名的可选值。如果用户名存在,则记录它。如果没有,您将使用默认用户名。

Optional<String> username = Optional.of("JohnDoe");

// Log the username if present
username.ifPresent(name -> System.out.println("User logged in: " + name));

// Get the username or default to "Guest"
String displayName = username.orElse("Guest");
System.out.println("Display name: " + displayName);

// Output:
// User logged in: JohnDoe
// Display name: JohnDoe

登录后复制

总结
当您想要对存在的值执行操作时,请使用 ifpresent()。

当您想要检索值时,请使用 orelse(),确保如果optional 为空,则返回默认值。

以上就是OptionalifPresent() 与OptionalorElse() 有何不同?的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:dev.to网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号