Примітка: це запитання походить від мертвого посилання, яке було попереднім питанням 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
.