Optional
私はOptionalInt
に「変換」したいが、これを行う簡単な方法はないようだ。オプションからのオプション取得
public OptionalInt getInt() {
return Optional.ofNullable(someString).filter(s -> s.matches("\\d+")).mapToInt(Integer::parseInt);
}
しかしOptional
にはmapToInt()
方法はありません。
は、ここで私は(不自然な例を)何をしたいのです。
return Optional.ofNullable(someString)
.filter(s -> s.matches("\\d+"))
.map(s -> OptionalInt.of(Integer.parseInt(s)))
.orElse(OptionalInt.empty());
が、それは洗練ようだ:
私が思い付くことが最高です。
私はJDKから変換をよりエレガントにすることができるものがありませんか?
これはきちんとした考えです。また、私の悪いの 'の'対 'Nullable()' :.私はこの例を単純化しました。これは 'Optional.ofNullable()'だったはずです。私はQを更新し、それに従ってあなたの答えを剪定しました。 – Bohemian