
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()
云枫工作室企业网站Version3.0是由云枫工作室独立开发的一个适用于普通企业的网站展示系统.系统环境:asp+access(注:网站风格是与其它版本不相同的,并不是其它版本的升级版)网站功能主要有新闻管理系统、信息管理系统、产品管理系统、人才招聘管理、友情链接管理、通讯信息管理、留言信息管理使用步骤1、把网站源代码拷贝到服务器空间的根目录下。(注:服务器空间需支持ASP脚本运行)2、网站后台地
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中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号