Un autre de ceux comment je fais toArray() sans des questions d'avertissements, mais c'est différent de la plupart de ceux postés ici.Débarrassez-vous des avertissements dans la liste <GenericClass <T>> .toArray()
Comment réécrire l'implémentation de la méthode (sans modifier la signature de la méthode) pour la compiler sans avertissement?
La difficulté apparente ici est que les informations de classe pour T ne sont pas disponibles pendant l'exécution. Cependant, le type de retour est également un type effacé pendant l'exécution, donc il n'y a pas vraiment de raison que cela ne puisse pas être fait. Alors, comment faire ceci si vous voulez appliquer la sécurité de type à la compilation?
Merci
<T> GenericClass<T>[] toGenericArray(List<GenericClass<T>> list) {
return list.toArray(new GenericClass[0]);
}
Un exemple parfait de pourquoi Java est stupide = P – Falmarri
@Falmarri: Plus précisément, un exemple de quelque chose en Java qui est stupide. Cela fonctionne très bien et certaines choses ne vont pas. Je suis d'accord que l'effacement est stupide mais il est injuste de généraliser à partir de cela. –