स्काला में, सबसे अच्छा तरीका है गतिशील रूप से एक वस्तु का दृष्टांत और प्रतिबिंब का उपयोग कर एक विधि आह्वान करने के लिए क्या है? ,स्काला: कैसे मैं गतिशील एक वस्तु का दृष्टांत और प्रतिबिंब का उपयोग कर एक विधि आह्वान करते हैं?
Class class = Class.forName("Foo");
Object foo = class.newInstance();
Method method = class.getMethod("hello", null);
method.invoke(foo, null);
उपरोक्त कोड में दोनों वर्ग के नाम और विधि नाम गतिशील रूप में पारित कर रहे हैं:
मैं निम्नलिखित जावा कोड के स्काला बराबर करना चाहते हैं। ऊपर जावा तंत्र शायद Foo
और hello()
लिए इस्तेमाल किया जा सकता है, लेकिन स्काला प्रकार एक-से-एक जावा के साथ मेल नहीं खाते। उदाहरण के लिए, एक वर्ग एक सिंगलटन वस्तु के लिए परोक्ष घोषित किया जा सकता है। इसके अलावा स्कैला विधि सभी प्रकार के प्रतीकों का नाम होने की अनुमति देती है। दोनों नाम उलझन से हल हो जाते हैं। Interop Between Java and Scala देखें।
एक और मुद्दा यह भार के और autoboxing, Reflection from Scala - Heaven and Hell में वर्णित को दूर करने से मानकों के मिलान हो रहा है।
यह देखते हुए कि मेरा उत्तर में प्रायोगिक सुविधा 2.8.0 नहीं किया, यह बेहतर होगा कि एक और जवाब के रूप में स्वीकार कर लिया चिह्नित किया गया था। –
यदि मेरे पास क्लास मेलसेवरिस (ईमेल आईडी: स्ट्रिंग) जैसी कक्षा के पैरामीटर के साथ कक्षा है तो क्या रनटाइम पर गतिशील रूप से आह्वान करना संभव है? – ashK