क्या जावा 8 में निम्नलिखित करने का कोई शानदार तरीका है, isPresent
और get
से परहेज करना?isPresent() से बचें और नियंत्रण (0) नियंत्रण तर्क
void doStuff(String someValue, Optional<Boolean> doIt) {
if (doIt.isPresent()) {
if (doIt.get()) {
trueMethod(someValue);
} else {
falseMethod(someValue);
}
}
}
मैं map
उपयोग करने की कोशिश, सफलता नहीं मिली। लेकिन शायद मैंने काफी मेहनत की कोशिश नहीं की?
शायद यह विधि पैरामीटर के रूप में 'वैकल्पिक' का उपयोग करने के लिए एक अच्छा डिज़ाइन नहीं है। ओपनजेडीके डेवलपर द्वारा [यह उत्तर] देखें (http://stackoverflow.com/a/23464794/4856258)। –
मैं @Tagir Valeev से सहमत हूं। मैं उम्मीद करता हूं, चूंकि यह कार्य कुछ भी नहीं करता है जब 'खाली' खाली होता है, तो आपने हमें फ़ंक्शन का एक विस्तृत संस्करण दिया है। सबसे अच्छा विकल्प शायद ओवरराइड प्रदान करना है। –