📜  Java中的可选 get() 方法及示例(1)

📅  最后修改于: 2023-12-03 14:42:56.244000             🧑  作者: Mango

Java中的可选 get() 方法及示例

在Java编程中,我们常常需要从一个对象中获取某个属性值。在许多情况下,这些属性是可选的,可能会返回null。此时,我们需要使用可选 get() 方法来处理这种情况,以避免 NullPointerException 异常。

Optional类

Java 8 引入了一种新的类 Optional,用来表示一个值存在或不存在。我们可以使用 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() 方法抛出异常。