Java 8では、引数を返すものを作成するか、引数がnullの場合はインスタンスを作成します。Java 8、静的メソッドvs関数
静的メソッドまたはUnaryOperatorを作成することでこれを行うことができます。次のアプローチは、技術的には同じであるか、私はアプローチのいずれかで知っておくべき技術的な違いがあります:
静的メソッド
static Cat initOrReturn(Cat c) {
if (c==null) {
return new Cat();
}
return c;
}
機能
UnaryOperator<Cat> initOrReturn = c -> {
if (c==null) {
return new Cat();
}
return c;
}
Re、 "... ...ストリームで使用できました"それはあなたの問題を解決するのに役立つでしょうか?それとも、あなたが問題を解決しようとしている他のソフトウェア開発者を助けるでしょうか?開発者に意見を求めていますが、その意見はあなたが解決しようとしている問題に依存することになります。 –
P.S.、 "function"ではなく、 "functional object"と言うこともできます。 –
'c - > c == nullですか?新しいCat():c'は再利用性のさまざまな方法について議論する価値がありますか? – Holger