जावा 8 के साथ, मैंने विकल्प / वैकल्पिक के उपयोग के बारे में अधिक से अधिक लेख देखे हैं। मैं समझता हूं कि वे जो प्रतिनिधित्व करने की कोशिश कर रहे हैं, और मैं उनमें से कई उदाहरणों को रिटर्न के रूप में इस्तेमाल करता हूं। हालाँकि मैं जो नहीं देखता, उन्हें उन भाषाओं में विधि / फ़ंक्शन तर्क के रूप में उपयोग किया जा रहा है जिनमें डिफ़ॉल्ट / वैकल्पिक पैरामीटर के लिए सिंटैक्स नहीं है।
क्या Optionalइस मामले में एक विधि तर्क के रूप में उपयोग नहीं करने का कोई कारण है जहां आप जानते हैं कि तर्क कुछ ऐसा है जिसकी आवश्यकता हो सकती है या नहीं? यहाँ एक उदाहरण है जिसके बारे में मैं सोच सकता हूँ:
Optional<Customer> lookupCustomer(String firstName, Optional<String> middleName, String lastName)
Optionalमुख्य रूप से वापसी मूल्यों के लिए इरादा है जो अनुपस्थित हो सकते हैं। अन्य उपयोग संभव हैं, निश्चित रूप से, लेकिन बोझिल हैं और संभवतः खराब शैली है।