जब कोई जावा विधि Function<? super T, ? extends U>
स्वीकार करती है, तो निम्नलिखित वाक्यविन्यास में विधि संदर्भ प्रदान करना संभव है: MyClass::myMethod
।चेनिंग लैम्ब्डा फ़ंक्शन
हालांकि, मैं सोच रहा हूं कि एकाधिक विधि कॉल श्रृंखला का कोई तरीका है या नहीं। मामले को चित्रित करने के लिए यहां एक उदाहरण दिया गया है।
// on a specific object, without lambda
myString.trim().toUpperCase()
मुझे आश्चर्य है कि लैम्बडा अभिव्यक्ति में इसका अनुवाद करने के लिए कोई वाक्यविन्यास है या नहीं। मुझे उम्मीद है कि निम्नलिखित में कुछ ऐसा है:
// something like: (which doesn't work)
String::trim::toUpperCase
वैकल्पिक रूप से, क्या कार्य करने के लिए एक उपयोगिता वर्ग है?
// example: (which does not exist)
FunctionUtil.chain(String::trim, String::toUpperCase);
कैसे ['function.andThen'] (https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html#andThen-java.util.function.Function -)? –
कैनोनिकल समाधान विधि संदर्भों का उपयोग करके _stop करना है, और बस 'myString -> myString.trim()। ToUpperCase() 'लिखें। –
@ लुइस वासरमैन एक उत्कृष्ट कामकाज। लेकिन मैं वास्तव में अधिक वाक्य रचनात्मक मिठास की उम्मीद कर रहा था। – bvdb