Instanciation d'un tableau d'éléments de type générique
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:
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:
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 !