A Supplierคือวิธีการใด ๆ ที่ไม่มีอาร์กิวเมนต์และส่งกลับค่า งานของมันคือการจัดหาตัวอย่างของชั้นเรียนที่คาดหวัง ตัวอย่างเช่นทุกการอ้างอิงถึงเมธอด 'getter' คือไฟล์Supplier
public Integer getCount(){
return this.count;
}
อ้างอิงวิธีการเช่นใช้เป็นตัวอย่างของmyClass::getCountSupplier<Integer>
A Consumerคือวิธีการใด ๆ ที่ใช้อาร์กิวเมนต์และไม่ส่งคืนค่าใด ๆ มีการเรียกใช้สำหรับผลข้างเคียง ในแง่ Java a Consumerเป็นสำนวนสำหรับvoidวิธีการ วิธีการ 'setter' เป็นตัวอย่างที่ดี:
public void setCount(int count){
this.count = count;
}
อ้างอิงวิธีการเช่นใช้myClass::setCountเป็นตัวอย่างของและConsumer<Integer>IntConsumer
A Function<A,B>คือวิธีการใด ๆ ที่ใช้อาร์กิวเมนต์ประเภทหนึ่งและส่งกลับอีกประเภทหนึ่ง สิ่งนี้สามารถเรียกได้ว่าเป็น 'การเปลี่ยนแปลง' Function<A,B>ใช้เวลาและผลตอบแทนA Bสิ่งที่น่าสังเกตคือสำหรับค่าที่กำหนดของAฟังก์ชันควรส่งคืนค่าเฉพาะBเสมอ AและBในความเป็นจริงอาจเป็นประเภทเดียวกันดังต่อไปนี้:
public Integer addTwo(int i){
return i+2;
}
การอ้างอิงวิธีการอินสแตนซ์myClass:addTwoคือ a Function<Integer, Integer>และToIntFunction<Integer>.
การอ้างอิงเมธอดคลาสไปยัง getter เป็นอีกตัวอย่างหนึ่งของฟังก์ชัน
public Integer getCount(){
return this.count;
}
อ้างอิงวิธีการเรียนของตนMyClass::getCountเป็นตัวอย่างของและFunction<MyClass,Integer>ToIntFunction<MyClass>
ConsumerและSupplierคุณยังสามารถค้นหาบทช่วยสอนสำหรับConsumer...