私はOptional<String>
ただし、この文字列は、別のアプリケーションレベルで整数または長整数として解析する必要があります。
これはFunction<String, Integer>
、整数を生成するために文字列に適用できるを持っています。文字列は整数の解析可能な値ではない可能性があるため、この変換は失敗する可能性があります。
解析例外をスローする代わりに、変換が失敗したときにオプションを返したいです。
STRING_TO_INTEGER_FUNCTIONがnullを返すようにすることはできません。これは、Guavaで許可されていないためです。
Exception in thread "main" java.lang.NullPointerException: Transformation function cannot return null.
したがって、私ができる唯一のことは、を持っていることですがFunction<String,Optional<Integer>>
、最終結果として、Optional<Optional<Integer>>
適用する別の変換がある可能性があるため、実際にはクールではないものが得られます。
誰かがグアバでそのようなことをどのように行うことができるか知っていますか?
Optional.of("Toto").transform(STRING_TO_INTEGER_FUNCTION) = // Optional<Integer> ?
ありがとう