讀了「Effective Java 3e - Item 55: Return optionals judiciously」後知道不要用Optional
去包primitive type的boxed type類別,也就是不要用Optional<Integer>
,應改用OptionalInt
。
但想不到OptionalInt
的使用時機,目前只想到資料庫查詢數值欄位時可能返回null的情況。
public OptionalInt getCustomerOrderAmount(Long customerId) {
// ... some query database logic
Integer amount = resultSet.getInt("AMOUNT"); // AMOUNT column is nullable
if (amount == null) {
return OptionalInt.empty();
} else {
return OptionalInt.of(amount);
}
}
沒有留言:
張貼留言