Optional 类是一个可以为null的容器对象。如果值存在则isPresent()方法会返回true,调用get()方法会返回该对象。
Optional 是个容器:它可以保存类型T的值,或者仅仅保存null。Optional提供很多有用的方法,这样我们就不用显式进行空值检测。
Optional 类的引入很好的解决空指针异常。
参考文章:Java 8 Optional 类
public class Demo_Optional {
public static void main(String[] args) {
filter();
}
static void filter() {
Optional<String> strOpt = Optional.of("Hello World!!!");
Optional<String> strOptional = strOpt.filter(str -> str.contains("He"));
System.out.println(strOptional.get());
}
static void of() {
Optional<String> strOpt = Optional.of("Hello World!!!");
String result = orElse(strOpt);
System.out.println("of():" + result);
}
static void empty() {
Optional<String> strOpt = Optional.empty();
String result = orElse(strOpt);
System.out.println("empty():" + result);
}
static String orElse(Optional<String> strObj) {
boolean result = Optional.ofNullable(strObj).isPresent();
System.out.println(result);
return strObj.orElse("Hello World");
}
}