optional在java中有哪些判空,举例说明
时间: 2023-05-28 21:04:05 浏览: 104
Java如何使用Optional与Stream取代if判空逻辑(JDK8以上)
在Java中,可以使用以下方式对Optional进行判空:
1. isPresent()方法:判断Optional对象是否包含非null的值,如果包含则返回true,否则返回false。
例如:
Optional<String> optional = Optional.ofNullable("Hello World");
if (optional.isPresent()) {
System.out.println(optional.get());
}
2. isEmpty()方法:判断Optional对象是否为空,如果为空则返回true,否则返回false。
例如:
Optional<String> optional = Optional.empty();
if (optional.isEmpty()) {
System.out.println("Optional is empty");
}
3. orElse()方法:如果Optional对象为空,则返回指定的默认值,否则返回Optional中的值。
例如:
Optional<String> optional = Optional.empty();
String result = optional.orElse("Default Value");
System.out.println(result);
4. orElseGet()方法:如果Optional对象为空,则通过指定的Supplier函数生成默认值,否则返回Optional中的值。
例如:
Optional<String> optional = Optional.empty();
String result = optional.orElseGet(() -> "Default Value");
System.out.println(result);
5. orElseThrow()方法:如果Optional对象为空,则抛出指定的异常,否则返回Optional中的值。
例如:
Optional<String> optional = Optional.empty();
String result = optional.orElseThrow(IllegalStateException::new);
System.out.println(result);
以上是Java中对Optional进行判空的几种方式,使用时可以根据具体情况选择合适的方式。
阅读全文