流暢なAPIをOptional
にして、Consumer
を2つ適用します。オプションの表示方法
私はこのような何かを夢見ています:
Optional.ofNullable(key)
.map(Person::get)
.ifPresent(this::printName)
.ifPresent(this::printAddress); // not compiling, because ifPresent is void
は、どのように私は、一時変数に格納することなく、Optional
にいくつかのConsumer
Sを適用していますか?
これは動作しますが、私は副作用のためmap'が良いスタイルである '使用しないと思います:
combine
がある。個人的には、 'ifPresent(x - > {doA(x); doB(x);})' –
@RobinTopperと一緒に行くのがよいでしょう。 1つを見つけることに失敗し、彼らはそれを理解した後、次の検索者が実際に答えを見つけることを確認したい。 – Esko
これは、Optionalが実際には遅延評価されたモナド(_yes、Java_の_yes)で、内部パイプラインが処理される最終的な値を要求した後でしかないということです - 最初に値がなければ、最終的な値を得るためのどのメソッドが呼び出されたかによって異なります。 – Esko