注:この質問は、以前のSOの質問であったデッドリンクに由来しますが、ここに行きます...
このコードを参照してください(注:このコードは「機能」せず、使用する必要があることを知っていますInteger::compare
-リンクされた質問から抽出しただけです):
final ArrayList <Integer> list
= IntStream.rangeClosed(1, 20).boxed().collect(Collectors.toList());
System.out.println(list.stream().max(Integer::max).get());
System.out.println(list.stream().min(Integer::min).get());
と の javadoc によると、.min()
両方.max()
の引数はComparator
. ただし、ここではメソッド参照はInteger
クラスの静的メソッドです。
では、なぜこれがコンパイルされるのでしょうか。