Java Null Safeオプションの使用方法
NullSafeを使用してOptional関数を返す方法について説明します.
まず、戻り値がint/long/doubleの場合、OptionalInt/OptionalLong/OptionalDoubleを使用するとOptional<>を使用するよりも良いです.
次の例のgetSumOfNumは、リストに特定の数値を含む要素をフィルタリングすることによって加算される関数です.
合計がnullの場合、nullではなくOptionalIntになります.空()を返します.空でない場合はOptionalIntです.返却of()です.
関数受信値のOptionalSumをOptionalIntとして、sumOfNumのorElse()を使用します.
これがオプショナルofNullable()を使用しないのはNullの安全な方法です.
OptionalではOptionalof()はオプションです.ofNullable()とは異なり、nullでないと判定された場合にのみ使用されます.(nullが入るとNPEが吐き出されます.)
まず、戻り値がint/long/doubleの場合、OptionalInt/OptionalLong/OptionalDoubleを使用するとOptional<>を使用するよりも良いです.
次の例のgetSumOfNumは、リストに特定の数値を含む要素をフィルタリングすることによって加算される関数です.
サンプルコード
OptionalInt optionalSum = getSumOfNum("2");
Integer sumOfNum = optionalSum.orElse(0); // same as optionalSum == nul ? 0 : optionalSum;
public static OptionalInt getSumOfNum(String n) {
List<String> strNum = List.of("144", "234", "222", "555", "777");
Integer sumOfNum = strNum.stream()
.filter(x -> x.contains(n))
.mapToInt( value -> Integer.parseInt(value))
.sum();
return sumOfNum == null ? OptionalInt.empty() : OptionalInt.of(sumOfNum);
}
結論から言えばOptionalofNullable()の使用を避けるのは空の方法です.合計がnullの場合、nullではなくOptionalIntになります.空()を返します.空でない場合はOptionalIntです.返却of()です.
関数受信値のOptionalSumをOptionalIntとして、sumOfNumのorElse()を使用します.
これがオプショナルofNullable()を使用しないのはNullの安全な方法です.
リファレンス
OptionalではOptionalof()はオプションです.ofNullable()とは異なり、nullでないと判定された場合にのみ使用されます.(nullが入るとNPEが吐き出されます.)
Reference
この問題について(Java Null Safeオプションの使用方法), 我々は、より多くの情報をここで見つけました https://velog.io/@sloools/Java-Null-Safe하게-Optional을-사용하는-방법テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol