Dans le cadre des collections Java, l'interface Collection déclare la méthode suivante:Comment instancier un tableau Java en fonction d'un type de tableau lors de l'exécution?
Retourne un tableau contenant tous les éléments de cette collection; le type d'exécution du tableau retourné est celui du tableau spécifié. Si la collection entre dans le tableau spécifié, elle y est renvoyée. Sinon, un nouveau tableau est alloué avec le type d'exécution du tableau spécifié et la taille de cette collection.
Si vous voulez mettre en œuvre cette méthode, comment voulez-vous créer un tableau du type de un, connu seulement lors de l'exécution?
Contrairement à toutes les autres réponses ici, cette méthode ne crée * pas * un tableau de T. En raison de l'effacement, vous pouvez l'assigner à un T [], mais vous ne vous en tirerez pas toujours. Si dans une instance spécifique, T est String, et que le tableau que vous avez créé est (retourné à une autre méthode et) assigné à String [] (qui n'aura pas besoin d'un cast), vous obtiendrez une ClassCastException inattendue. Ceci est un exemple de pollution de type. Ne fais pas ça! –