私はいつも Java 6 しか使っていませんでしたが、今は Java 8 の新機能を学ぶために追いついています 。 /240166764?pgno=2
そしてそれは言います:
Java API は、java.util.function パッケージでいくつかの汎用機能インターフェースを定義します。インターフェイスの 1 つである BiFunction は、パラメーターの型が T と U で、戻り値の型が R の関数を記述します。文字列比較ラムダをその型の変数に保存できます。
BiFunction<String, String, Integer> comp
= (first, second) -> Integer.compare(first.length(), second.length());
ただし、それはソートには役立ちません。BiFunction を必要とする Arrays.sort メソッドはありません。以前に関数型プログラミング言語を使用したことがある場合は、これが興味深いことに気付くかもしれません。しかし、Java プログラマーにとってはごく自然なことです。Comparator などのインターフェイスには、指定されたパラメーターと戻り値の型を持つメソッドだけでなく、特定の目的があります。Java 8 はこのフレーバーを保持しています。ラムダ式で何かをしたい場合でも、式の目的を念頭に置いて、そのための特定の関数インターフェイスを用意する必要があります。
ただし、このスレッドを見ると: How do you assign a lambda to a variable in Java 8?
そこの質問への回答は、引用された段落があなたができないと言っていることを正確に行うことを示唆しています.
では、この記事の情報は間違っているのでしょうか、それともここで何かを読み間違えているのでしょうか?
ありがとう!