0
Java 8の機能をさらに使用するために更新したいと思っているJavaアプリケーションがあります。表現可能なJava関数
次のように私はFunction
を持っている:
protected static Function<Notification,Notification>
coverpageNotification = n -> n
.withMessage("COVERPAGE MESSAGE")
.withDate(new Date());
をし、私が使用して、今それを呼び出す:
s = new HashSet<Notification>();
checkNotificationStatus(true, coverpageNotification.apply(new Notification()), s);
...
...
代わりのcoverpageNotification.apply(new Notification())
を言っては、ラムダを使用してこれを行うより表現方法は何ですか?
これは知恵です。ラムダ式のためのラムダ式の記述は、学習のために行うのであれば問題ありませんが、実際にはそれらの不要な使い方により、コードを読み込みや維持が困難になる可能性があります。ラムダの代わりに関数+メソッド参照を使用するというここで使用されているイディオムは良いものです。私は両方を使用していますが、最も読みやすく、最も多くの情報を持っています。メソッド参照で使用される関数名は、何が行われているのかを示すドキュメントの一種であり、ラムダ式が単純で明白でない場合、むしろラムダよりも理解しやすいでしょう。 –