📅  最后修改于: 2023-12-03 15:16:31.796000             🧑  作者: Mango
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异常的情况。