मैं जावा में कुछ चिंतनशील विधि कॉल करने के लिए की जरूरत का प्रतिनिधित्व करता है लगता है। उन कॉलों में वे विधियां शामिल होंगी जिनमें तर्क हैं जो आदिम प्रकार (int, double, आदि) हैं। इस विधि को प्रतिबिंबित करने के तरीके को प्रतिबिंबित करने का तरीका int.class, double.class, आदि हैगतिशील रूप से वर्ग है कि एक आदिम जावा प्रकार
चुनौती यह है कि मैं बाहरी स्रोत से इनपुट स्वीकार कर रहा हूं जो गतिशील रूप से प्रकार निर्दिष्ट करेगा। इसलिए, मुझे गतिशील रूप से इन कक्षा संदर्भों के साथ आने की आवश्यकता है। एक सीमांकित फ़ाइल पैरामीटर प्रकार की सूची के साथ विधि नामों की सूची की कल्पना कीजिए:
doSomething int double
doSomethingElse java.lang.String boolean
इनपुट java.lang.String
की तरह कुछ था, तो मुझे लगता है मैं वापस कि कक्षा उदाहरण के लिए Class.forName("java.lang.String")
इस्तेमाल कर सकते हैं पता है। आदिम प्रकार कक्षाओं को वापस पाने के लिए, उस विधि या किसी अन्य का उपयोग करने का कोई तरीका है?
संपादित करें: सभी उत्तरदाताओं के लिए धन्यवाद। यह स्पष्ट लगता है कि वहाँ कोई अंतर्निहित तरीका सफाई से मैं क्या चाहता हूं, तो मैं स्प्रिंग ढांचे से ClassUtils
वर्ग पुन: उपयोग के लिए समझौता होगा। ऐसा लगता है कि Class.forName() के लिए एक प्रतिस्थापन शामिल है जो मेरी आवश्यकताओं के साथ काम करेगा। आदिम प्रकार के लिए
क्लासयूटिल.जावा फ़ाइल का स्रोत उस लिंक पर टूटा हुआ प्रतीत होता है। [यह एक, ऊपर लग रहा है मेरे लिए] (http://www.jarvana.com/jarvana/view/org/springframework/spring-core/3.1.0.RELEASE/spring-core-3.1.0.RELEASE-sources। जार /org/springframework/util/ClassUtils.java प्रारूप = ठीक) – Patrick
@Patrick:? खेद है, आपकी लिंक भी टूट बन गया। हालांकि, स्प्रिंग ढांचा अब गिटहब पर उपलब्ध है। https://github.com/spring-projects/spring-framework/blob/master/spring-core/src/main/java/org/springframework/util/ClassUtils.java –