溫馨提示×

0中Optional類型如何使用

c#
小樊
81
2024-09-08 04:13:10
欄目: 編程語言

在Java 8及更高版本中,Optional是一個(gè)可以為null的容器對象。如果值存在則isPresent()返回true,調(diào)用get()方法會(huì)返回該對象。

這是一個(gè)簡單的例子來說明如何使用Optional類型:

  1. 導(dǎo)入java.util.Optional。
import java.util.Optional;
  1. 創(chuàng)建一個(gè)Optional對象。
Optional<String> optional = Optional.of("Hello World");

或者,如果值可能為空,您可以使用Optional.ofNullable()方法:

Optional<String> optional = Optional.ofNullable(getValueThatMayBeNull());
  1. 使用isPresent()get()方法檢查值是否存在并獲取它。
if (optional.isPresent()) {
    System.out.println(optional.get());
}
  1. 或者,使用orElse()orElseGet()方法提供一個(gè)默認(rèn)值。
String value = optional.orElse("Default Value");

或者

String value = optional.orElseGet(() -> "Default Value");
  1. 若要在值存在時(shí)執(zhí)行操作,可以使用ifPresent()方法。
optional.ifPresent(value -> System.out.println("Value: " + value));
  1. 若要在值存在時(shí)執(zhí)行操作并返回一個(gè)新的Optional對象,可以使用map()方法。
Optional<Integer> length = optional.map(String::length);
  1. 若要在值存在時(shí)執(zhí)行操作并返回一個(gè)新的值,可以使用flatMap()方法。
Optional<Integer> doubleLength = optional.flatMap(value -> Optional.of(value.length() * 2));

這些示例展示了如何使用Optional類型來避免空指針異常(NullPointerException)并編寫更清晰、更簡潔的代碼。

0