Optional
类是 Java 8 引入的一个容器类,它主要解决了空指针异常问题。在 Java 中,如果我们访问一个空引用(null),就会抛出 NullPointerException
异常。使用 Optional
类可以有效地避免这个问题。
Optional
类可以存储一个对象或者 null 值。如果一个对象不为空,就可以使用 isPresent()
方法判断其是否存在,如果存在就可以使用 get()
方法获取其值;如果一个对象为空,调用 isPresent()
方法将返回 false,调用 get()
方法将会抛出 NoSuchElementException
异常。
下面是一个使用 Optional
类的示例:
String str = "Hello, world!";
Optional<String> optStr = Optional.ofNullable(str);
if (optStr.isPresent()) {
String upperCase = optStr.get().toUpperCase();
System.out.println(upperCase);
} else {
System.out.println("str is null");
}
在这个示例中,我们创建了一个 String
类型的变量 str
,并使用 Optional.ofNullable()
方法将其包装成一个 Optional
对象。接下来我们使用 isPresent()
方法判断 str
是否为空,如果不为空就使用 get()
方法获取其值,并将其转换为大写形式输出。如果 str
为空,将会输出 str is null
。
总的来说,Optional
类是一种优雅而安全的方法,可以有效地避免空指针异常,同时也可以使代码更加简洁和易于维护。