注:この質問は、以前の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
クラスの静的メソッドを参照しています。
では、なぜこれがまったくコンパイルされるのでしょうか?
Integer
はないと思っているかのように聞こえましたComparator
。
Integer::compare
代わりにInteger::max
およびを使用する必要がありInteger::min
ます。