📅  最后修改于: 2023-12-03 14:42:56.244000             🧑  作者: Mango
在Java编程中,我们常常需要从一个对象中获取某个属性值。在许多情况下,这些属性是可选的,可能会返回null。此时,我们需要使用可选 get()
方法来处理这种情况,以避免 NullPointerException
异常。
Java 8 引入了一种新的类 Optional
,用来表示一个值存在或不存在。我们可以使用 Optional
类中的方法来获取,操作这个值,并在值不存在时提供一个默认值。
下面是 Optional
类的层次结构:
get()
方法可选 get()
方法是 Optional
类中的一个方法,它用于获取可选值并返回对应类型的实例。如果值不存在,则会抛出 NoSuchElementException
异常。
以下是可选 get()
方法的语法:
public T get()
其中,T
表示可选值的类型。
以下是可选 get()
方法的示例:
import java.util.Optional;
public class Example {
public static void main(String[] args) {
String str = "hello";
Optional<String> optionalStr = Optional.ofNullable(str); // 创建可选值
// 根据情况获取值
if (optionalStr.isPresent()) {
String s = optionalStr.get(); // 获取值
System.out.println("值为:" + s);
} else {
System.out.println("值不存在"); // 值不存在
}
// 使用 orElse 代替 get
String s2 = optionalStr.orElse("world"); // 值不存在时返回默认值
System.out.println("值为:" + s2);
// 使用 orElseThrow 抛出异常
String s3 = optionalStr.orElseThrow(); // 值不存在时抛出 NoSuchElementException 异常
System.out.println("值为:" + s3);
}
}
以上示例中,我们首先使用 Optional.ofNullable()
方法创建了一个可选值,然后分别使用 isPresent()
方法来判断值是否存在,并使用 get()
方法来获取值。当值不存在时,可以使用 orElse()
方法来返回默认值或者使用 orElseThrow()
方法抛出异常。