Optional.ofNullable
メソッドに驚いた。私はオプションを返すことになっ機能書いたいくつかの日:オプション.Nullableとメソッド連鎖
private Optional<Integer> extractFirstValueFrom(InsightsResponse insight) {
return Optional.ofNullable(insight.getValues().get(0).getValue());
}
は、私が誤ってOptional.ofNullable
は引数式のいずれかのNullPointerExceptions
内部を予防することを考えました。
今、私はそれが非常にばかげた考えであることを知っていると思います。 Javaは引数を最初に解決して、Optional.ofNullable
呼び出しに渡す必要があります。
しかし、私は質問があります。私の目標を達成するうえで、素晴らしい方法がありますか?式insight.getValues().get(0).getValue()
から整数値またはnullを取得したいと考えています。 Nullは、それぞれ式insight.getValues()
またはinsight.getValues().get(0)
のいずれかです。
私はこれをtry/catchブロックに入れることができることを知っていますが、より洗練されたソリューションがあるかどうかは疑問です。 #extractFirstValueFrom
はのはinsight
は常にsomething
であると仮定しましょう、グアバのcheckNotNull()
などのヌルのため@Nullable
もチェックどちらが含まれていないとして、このような
あなたのケースでは、 'insight'がnullです。メソッド内でnullをチェックするのではなく、nullをメソッドに渡すことは決してお勧めしません。 –