जावा में जेनेरिक ऐरे (generic array) कैसे बनाएं? समस्या का समाधान
सभी को नमस्कार! मैंने हाल ही में जावा सीखना शुरू किया है और जेनेरिक्स के साथ काम करते समय एक समस्या का सामना किया। मुझे जेनेरिक प्रकार के तत्वों की एक ऐरे बनाने की आवश्यकता है, लेकिन कंपाइलर एक त्रुटि देता है।
यह मेरा कोड है:
```java
public class MyContainer {
private T[] array;
public MyContainer(int size) {
array = new T[size]; // कंपाइलेशन त्रुटि: "Type parameter 'T' cannot be instantiated directly"
}
}
```
मैं समझता हूं कि जावा टाइप इरेज़र (type erasure) के कारण सीधे जेनेरिक प्रकारों की ऐरे बनाने की अनुमति नहीं देता। लेकिन फिर ऐसी संरचना को सही तरीके से कैसे लागू किया जाए? मुझे ऐरे में तत्वों को संग्रहीत करने और इंडेक्स द्वारा उन तक पहुंचने में सक्षम होने की आवश्यकता है। मैंने टाइप कास्टिंग के साथ `new Object[size]` का उपयोग करने की कोशिश की, लेकिन यह "unchecked cast" चेतावनी देता है।
कृपया बताएं कि जावा में जेनेरिक ऐरे को सही तरीके से कैसे बनाया जाए ताकि कोड टाइप-सेफ (type-safe) हो और चेतावनियां न दें। शायद कोई वैकल्पिक दृष्टिकोण हो? मैंने `Array.newInstance()` के बारे में सुना है, लेकिन समझ नहीं पाया कि इसका उपयोग कैसे करें।