Примітка: це запитання походить від мертвого посилання, яке було попереднім питанням 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(), аргументом обох має бути a Comparator. Однак тут посилання на методи є на статичні методи Integerкласу.
Отже, чому це взагалі складається?
Integerне є методами Comparator.
Integer::compareзамістьInteger::maxіInteger::min.