Java 8 引入了 Optional
類,它是一種用于表示值可能存在也可能不存在的容器對象。使用 Optional
可以避免空指針異常(NullPointerException),并提高代碼的可讀性和健壯性。
以下是 Optional
的一些常見用法:
Optional<String> optional = Optional.of("Hello, World!");
Optional<String> emptyOptional = Optional.empty();
if (optional.isPresent()) {
System.out.println("Value is present: " + optional.get());
} else {
System.out.println("Value is not present");
}
String value = optional.orElse("Default Value");
System.out.println("Value: " + value);
String valueOrDefault = optional.orElseGet(() -> "Default Value");
System.out.println("Value or default: " + valueOrDefault);
String valueOrThrow = optional.orElseThrow(() -> new NoSuchElementException("Value not present"));
System.out.println("Value or throw: " + valueOrThrow);
Optional<String> filteredOptional = optional.filter(value -> value.length() > 0);
filteredOptional.ifPresent(System.out::println);
optional.ifPresent(value -> {
System.out.println("Value: " + value);
// 其他操作
});
注意:在使用 Optional
時,建議遵循以下最佳實踐:
Optional
包裝返回值。Optional
作為返回類型,除非確實有必要。Optional
的方法時,盡量使用鏈式方法調用,以提高代碼的可讀性。Optional
對象時,使用 Optional.empty()
或 Optional.ofNullable()
創建一個新的空 Optional
對象,而不是返回 null
。免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。