ด้วย Java 8 ฉันได้เห็นบทความมากขึ้นเกี่ยวกับการใช้ตัวเลือก / ตัวเลือก ฉันเข้าใจสิ่งที่พวกเขาพยายามเป็นตัวแทนและฉันเห็นตัวอย่างมากมายของพวกเขาที่ใช้เป็นผลตอบแทน อย่างไรก็ตามสิ่งที่ฉันไม่เห็นก็คือพวกมันถูกใช้เป็นข้อโต้แย้งเมธอด / ฟังก์ชั่นในภาษาที่ไม่มีไวยากรณ์สำหรับพารามิเตอร์เริ่มต้น / ทางเลือก
มีเหตุผลใดที่จะไม่ใช้Optional
เป็นอาร์กิวเมนต์วิธีในกรณีที่คุณรู้ว่าอาร์กิวเมนต์เป็นสิ่งที่อาจหรืออาจไม่จำเป็น? นี่คือตัวอย่างที่ฉันคิดได้:
Optional<Customer> lookupCustomer(String firstName, Optional<String> middleName, String lastName)
Optional
มีวัตถุประสงค์หลักสำหรับค่าตอบแทนที่อาจขาด การใช้งานอื่น ๆ นั้นเป็นไปได้แน่นอน แต่มีความยุ่งยากและน่าจะเป็นรูปแบบที่ไม่ดี