2016-10-06 3 views
0

私はこの醜いクリーチャーを書いた:オプションのクラスのリファクタリング

Optional<Transaction> secondSide = findSecondSide(transaction.getId()); 
     if(secondSide.isPresent()) { 
      secondSide.get().setFlag("Y"); 
      save(secondSide.get()); 
     } 

は、私がisPresent()get()を使用せずに、これをリファクタリングすることができます方法はありますか?

答えて

7

使用ifPresent method

secondSide.ifPresent(s -> { s.setFlag("Y"); save(s); }); 
+0

おかげで、私は、中括弧をして行方不明になりました! – Dargenn

+0

@Dargenn何か試してみたら、それを見せて! –

+0

私は 'secondSide.ifPresent を試してみた(S - > \t \t \t \t s.setBeneficiary( "Y"); \t \t \t \t)S(SAVE; \t \t \t \t);' 私はラムダを使うのはかなり新しいので、私が間違っていたことは分かりませんでした。 – Dargenn

関連する問題