Comment créer un tableau de type générique en Java ? (Generic Array)
Bonjour à tous ! J'ai commencé à étudier les generics (génériques) en Java et j'ai rencontré un problème que je n'arrive pas à résoudre depuis plusieurs heures. J'ai besoin de créer une méthode qui prend un tableau de n'importe quel type et retourne un nouveau tableau contenant uniquement les éléments uniques. Par exemple, je veux passer un `String[]` et obtenir un `String[]` sans doublons, ou passer un `Integer[]` et obtenir un `Integer[]`.
Voici mon code :
```java
public class UniqueArray {
public static T[] getUnique(T[] input) {
// D'abord, je veux créer un tableau pour le résultat, mais je ne connais pas sa taille
T[] result = new T[input.length]; // Erreur de compilation !
// ... reste de la logique
return result;
}
}
```
Le compilateur donne une erreur : "Cannot create a generic array of T". J'ai lu qu'en Java, on ne peut pas créer directement des tableaux de types génériques à cause de l'effacement de type (type erasure). Mais comment faire alors ? Existe-t-il une solution de contournement ? J'ai besoin de retourner un tableau de type `T[]`, pas un `Object[]` ou `List`, car