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