पर विचार करें निम्नलिखित स्काला कोड:जावा से स्काला का उपयोग करना: कार्यों गुजर के रूप में मानकों
package scala_java;
public class MyJava {
public static void main(String [] args) {
MyScala.setFunc(myFunc); // This line gives an error
}
public static String myFunc(int someInt) {
return String.valueOf(someInt);
}
}
हालांकि, इसके बाद के संस्करण है: जावा में अब
package scala_java
object MyScala {
def setFunc(func: Int => String) {
func(10)
}
}
, मैं के रूप में MyScala
उपयोग करने के लिए इसे पसंद किया है | काम नहीं करते (जैसा कि जावा से कार्यात्मक प्रोग्रामिंग की अनुमति नहीं है)। जावा में फ़ंक्शन को पास करने का सबसे आसान कामकाज क्या है? मुझे एक सामान्य समाधान चाहिए जो पैरामीटर के मनमाना संख्या वाले कार्यों के साथ काम करता है।
संपादित करें: क्या जावा 8 के नीचे चर्चा की गई क्लासिक समाधानों की तुलना में कोई बेहतर वाक्यविन्यास है?
टिप्पणियों में लेख और डैनियल की 'FunUtils' कक्षा को देखना सुनिश्चित करें, जो '$ टैग' और 'compose' के लिए आवश्यक बॉयलरप्लेट को हटाने में मदद करता है। –
यह बहुत जानकारीपूर्ण है। मैंने पहले लेख देखा था लेकिन टिप्पणियां नहीं पढ़ीं। – Jus12