Comment créer un tableau générique (generic array) en Java ? Solution du problème
Bonjour à tous ! J'ai récemment commencé à apprendre Java et j'ai rencontré un problème avec les génériques. Je dois créer un tableau d'éléments de type générique, mais le compilateur génère une erreur.
Voici mon code :
```java
public class MyContainer {
private T[] array;
public MyContainer(int size) {
array = new T[size]; // Erreur de compilation : "Type parameter 'T' cannot be instantiated directly"
}
}
```
Je comprends que Java ne permet pas de créer directement des tableaux de types génériques à cause de l'effacement de type (type erasure). Mais comment implémenter correctement une telle structure ? J'ai besoin de stocker des éléments dans un tableau et de pouvoir y accéder par index. J'ai essayé d'utiliser `new Object[size]` avec un cast, mais cela génère un avertissement "unchecked cast".
Dites-moi comment créer correctement un tableau générique en Java pour que le code soit type-safe et ne génère pas d'avertissements. Existe-t-il des approches alternatives ? J'ai entendu parler de `Array.newInstance()`, mais je ne comprends pas.