Bonjour,
J'essaye d'instancier un tableau d'éléments de type générique T dans une constructeur d'une classe générique :
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 class Plan<T> { public Plan(T[][] plan) { this.plan = plan; } public Plan(int yTaille, int xTaille, int valeurParDefaut) { plan = new T[yTaille][xTaille]; } public T recevoirElement(int y, int x) { return plan[y][x]; } public int recevoirLargeur() {return xTaille;} public int recevoirHauteur() {return yTaille;} private T[][] plan; private int yTaille, xTaille; }
L'erreur est ligne 9. Je sais pourquoi cela est interdit (limitation de la programmation générique en Java ; T est en fait remplacé par Object), mais j'aimerais bien contourner cette limitation. Je peux procéder ainsi :
Code "java : Sélectionner tout - Visualiser dans une fenêtre à part plan = (T[][]) new Object[yTaille][xTaille];
Mais ce n'est pas très propre et il reste un panneau attention à la compilation.
Merci d'avance !
Partager