dans l'initialisation de la liste normale de la matrice, Nous avions l'habitude de définir le type générique comme suit,
ArrayList[] arr=new ArrayList[n]; for(int i=0;i<n;i++) { arr[i]=new ArrayList(); }
5 Réponses :
Vous pouvez simplement faire si vous avez besoin d'un tableau de listes, vous pouvez faire p> et ignorer ou supprimer le AVERTISSEMENT. P> P>
"Ignorer ou supprimer en toute sécurité l'avertissement." Je ne pense pas que l'écriture de code qui provoque délibérément des avertissements devraient être considérés comme «sûrs».
@ Tomhawtin-tackline c'est assez sûr. Le nouveau tableau ne contient aucun objet de liste, mais il ne contient aucune liste qui ne sont pas Liste
Vous devez compter sur une ligne de raisonnement plutôt que de laisser le compilateur à traiter avec le non-sens. / Comme il se trouve l code> peut avoir une liste
Si vous voulez (vraiment) vouloir une liste de listes, c'est la déclaration correcte: Nous ne pouvons pas créer de matrices génériques. nouvelle liste
quelque chose comme ceci:
List<List<Number>> matrix = new ArrayList<List<Number>>(); for (int i = 0; i < numRows; ++i) { List<Number> row = new ArrayList<Number>(); // add some values into the row matrix.add(row); }
Vous parlez d'une gamme de listes (arraylistes à être plus spécifiques). Java n'autorise pas la génération de la matrice générique (sauf lors de l'utilisation de caractères génériques, voir paragraphe suivant). Vous devez donc oublier d'utiliser des génériques pour le tableau ou utilisez une liste au lieu d'une matrice (de nombreuses solutions proposées pour cela). P>
Citation de Article IBM : P >
Une autre conséquence du fait que les matières sont covariennes mais que les génériques ne sont pas, vous ne pouvez pas instancier d'un type de type générique (nouvelle liste [3] est illégale), à moins que l'argument de type est un wildcard sans bornes (nouvelle liste > [3] est légal). P> blockQuote>
Vous avez raison: cela a l'air fou. (Que son bug ...) Au lieu d'utiliser
ArrayList<String>[] list1 = new ArrayList[]{};
Pourquoi créez-vous une classe anonyme?
Ceci est un (B> Array B> d'objets ArrayList
Merci Andreas .., Jusqu'à présent, je pensais que c'était une arrayliste de arraylistes, je l'ai maintenant eu, que c'est une gamme d'objets ArrayList ..! Ok alors comment pouvons-nous définir le type générique pour cela ..? Des idées..?
Voir ma réponse. Ce n'est pas possible. Pas de tableaux génériques avec Java.