Wie erstelle ich ein generisches Array in Java? Lösung des Problems
Hallo zusammen! Ich habe vor kurzem angefangen, Java zu lernen, und bin bei der Arbeit mit Generics auf ein Problem gestoßen. Ich muss ein Array von Elementen eines generischen Typs erstellen, aber der Compiler gibt einen Fehler aus.
Hier ist mein Code:
```java
public class MyContainer {
private T[] array;
public MyContainer(int size) {
array = new T[size]; // Compiler-Fehler: "Type parameter 'T' cannot be instantiated directly"
}
}
```
Ich verstehe, dass Java aufgrund von Type Erasure nicht erlaubt, direkt Arrays von generischen Typen zu erstellen. Aber wie implementiere ich eine solche Struktur richtig? Ich muss Elemente in einem Array speichern und über den Index darauf zugreifen können. Ich habe versucht, `new Object[size]` mit einem Cast zu verwenden, aber das führt zu einer Warnung "unchecked cast".
Könnt ihr mir sagen, wie man ein generisches Array in Java richtig erstellt, sodass der Code typsicher ist und keine Warnungen ausgibt? Gibt es vielleicht alternative Ansätze? Ich habe von `Array.newInstance()` gehört, verstehe aber nicht...