使用 ispresent() 方法可以判断 optional 对象中是否包含非空值。该方法返回一个布尔值,如果值存在则返回 true,否则返回 false。

isPresent() 的返回值逻辑是什么
isPresent() 方法的返回值取决于内部持有的值是否为 null。如果调用 ofNullable() 时传入的是有效对象,则返回 true;如果传入的是 null,则返回 false。

import java.util.Optional;
public class Main {
public static void main(String[] args) {
Optional<string> present = Optional.of("value");
Optional<string> empty = Optional.empty();
Optional<string> nullOpt = Optional.ofNullable(null);
System.out.println(present.isPresent()); // true
System.out.println(empty.isPresent()); // false
System.out.println(nullOpt.isPresent()); // false
}
}</string></string></string>
如何结合 ifPresent() 处理存在的值
除了直接判断,还可以使用 ifPresent() 方法。如果值存在,它会执行提供的 Consumer 动作;如果不存在,则不执行任何操作。这种方式避免了显式的 if-else 判断,使代码更简洁。

import java.util.Optional;
public class Main {
public static void main(String[] args) {
Optional<string> opt = Optional.of("hello");
opt.ifPresent(val -> System.out.println("Value is: " + val));
Optional<string> empty = Optional.empty();
empty.ifPresent(val -> System.out.println("This will not print"));
}
}</string></string>
当值为 null 时 isPresent() 的行为
当 Optional 包装的值是 null 时,isPresent() 会返回 false。这是 Optional 设计的一部分,旨在避免 NullPointerException。开发者应始终通过 isPresent() 或类似方法检查值的存在性,而不是直接访问内部值。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南











