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

📅  最后修改于: 2023-12-03 15:16:31.796000             🧑  作者: Mango

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

Java中的可选(Optional)是一种用于表示一个值可能存在或不存在的类,它强制程序员在程序中明确地处理空值的情况,避免出现NullPointerException异常。Optional类包含了若干实用方法,其中isPresent()方法可用于判断Optional对象中是否包含非空值。

使用示例

下面是一个简单的示例,其中isPresent()方法被用于判断Optional对象中是否包含非空值。

import java.util.Optional;

public class OptionalTest {
   public static void main(String[] args) {
      String str = "hello!";
      Optional<String> optional = Optional.ofNullable(str);
      if (optional.isPresent()) {
         System.out.println(optional.get());  // 输出:hello!
      } else {
         System.out.println("value is null!");
      }
   }
}

在上面的代码中,我们使用Optional.ofNullable()方法创建了一个Optional对象,然后使用isPresent()方法判断对象中是否包含非空值。最后,我们使用get()方法获取Optional对象中的值。

实际应用

在实际应用中,isPresent()方法常常被用于处理空值的情况。下面是一个模拟支付交易的示例代码,其中isPresent()方法被用于判断交易对象中是否包含非空值。

import java.util.Optional;

public class PaymentTest {
   public static void main(String[] args) {
      Payment payment = new Payment("123456", 100.0);
      Optional<Payment> optional = Optional.ofNullable(payment);
      if (optional.isPresent()) {
         payment.doPay();  // 执行支付操作
      } else {
         System.out.println("Payment object is null!");
      }
   }
}

class Payment {
   private String id;
   private Double amount;

   public Payment(String id, Double amount) {
      this.id = id;
      this.amount = amount;
   }

   public void doPay() {
      // 省略支付操作的代码
      System.out.println("Payment " + id + " has paid " + amount + " RMB.");
   }
}

在上面的代码中,我们使用Optional.ofNullable()方法创建了一个Optional对象,并将非空值(payment)作为参数传入。接着使用isPresent()方法判断Optional对象中是否包含非空值。如果包含非空值,就执行支付操作;否则,输出提示信息。这样,我们就避免了支付操作中出现NullPointerException异常的情况。