หมายเหตุ: คำถามนี้มาจากลิงก์ตายซึ่งเป็นคำถาม 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::maxInteger::min