Optional.ifPresent用于在值存在时执行操作,避免null检查,接收Consumer接口,值存在时执行对应逻辑,否则不处理;示例包括打印字符串、方法引用及链式调用中结合filter使用;注意其返回void,不可用于获取结果或继续构造Optional,无值时需额外处理应使用ifPresentOrElse。

Java 中的 Optional.ifPresent 方法用于在 Optional 包含有值时执行某个操作,避免显式地进行 null 检查。这个方法接收一个 Consumer 函数式接口作为参数,当 Optional 非空时,会将内部的值传给该 Consumer 并执行。
其中 action 是一个 lambda 表达式或方法引用,用来处理 Optional 中的值。如果 Optional 为空(empty),则什么也不做,不会抛出异常。
1. 避免空指针判断
传统写法需要先判断是否为 null:
使用 Optional 可以更简洁:
Optional<String> optStr = Optional.ofNullable(str); optStr.ifPresent(s -> System.out.println(s.toUpperCase()));2. 结合方法引用简化代码
如果只是调用某个方法,可以直接使用方法引用:
3. 在链式调用中使用
Optional 常与其他方法连用,比如 filter、map 等:
只有当 email 存在且包含 @ 符号时,才会发送欢迎邮件。
立即学习“Java免费学习笔记(深入)”;
基本上就这些。ifPresent 让代码更安全、简洁,适合“有值就处理”的场景,是日常开发中很实用的方法。
以上就是Java Optional.ifPresent方法如何使用的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号