जावा में पैरामीटर प्रकार T के लिए Class ऑब्जेक्ट कैसे प्राप्त करें?
सभी को नमस्ते! मैं जावा में हाल ही में कोड लिख रहा हूँ और जेनेरिक्स के साथ काम करते समय एक समस्या का सामना करना पड़ा। मेरे पास एक सामान्यीकृत क्लास है, और मुझे इसके अंदर T प्रकार के पैरामीटर के लिए क्लास इंस्टेंस (Class) प्राप्त करने की आवश्यकता है। उदाहरण के लिए, मैं रिफ्लेक्शन के माध्यम से T का इंस्टेंस बनाना चाहता हूँ या इसे किसी ऐसे मेथड में पास करना चाहता हूँ जिसे Class की आवश्यकता हो।
यहाँ एक कोड उदाहरण है जो काम नहीं करता:
```java
public class MyGenericClass {
public void doSomething() {
// यहाँ मैं Class प्राप्त करना चाहता हूँ, लेकिन नहीं जानता कैसे
Class clazz = T.class; // कम्पाइल एरर!
// फिर मैं, उदाहरण के लिए, T का एक नया इंस्टेंस बनाना चाहता हूँ
T instance = clazz.newInstance();
}
}
```
कम्पाइलर शिकायत करता है: "Cannot select from a type variable"। मैं समझता हूँ कि टाइप इरेज़र (type erasure) के कारण जानकारी