का उदाहरण है, तो यह निर्धारित करने का कोई तरीका है कि कोई ऑब्जेक्ट सामान्य प्रकार का उदाहरण है या नहीं?यदि ऑब्जेक्ट पैरामीटर प्रकार
public <T> test(Object obj) {
if (obj instanceof T) {
...
}
}
यह स्पष्ट रूप से काम नहीं करता है। क्या कोई विकल्प है? जैसे कि मैं कक्षा को तुरंत चालू करने के लिए जावा प्रतिबिंब का उपयोग करना चाहता हूं और फिर यह सुनिश्चित करने के लिए जांचें कि यह जेनेरिक T
प्रकार है।
यदि आप विधि पैरामीटर के रूप में 'टाइप' नहीं प्राप्त करना चाहते हैं, तो शायद आप इसे प्रारंभ करना चाहते हैं:' क्लास टाइप = ((टी) नया ऑब्जेक्ट())। GetClass(); ' – JordiVilaplana
@ जोर्डी विलाप्लाना यह सही नहीं है , यह आपको क्लास के रूप में java.lang.Object देगा। इस की जाँच करें: http://ideone.com/bxt9Jq –
उपयोग: 'कक्षा प्रकार = (कक्षा ) ((ParameterizedType) getClass() getGenericSuperclass()।) getActualTypeArguments() [0];' –