Java - le moyen le Plus efficace pour convertir un TreeSet<String> dans un String[]?
J'ai fait ça:
(String[]) myTreeSet.toArray();
mais qui me donne une ClassCastException au moment de l'exécution.
La seule chose que je peux penser de le faire est de simplement faire un tableau en premier et ensuite itérer sur chaque élément dans myTreeSet et les ajouter dans le tableau. Il semble qu'il doit y avoir une meilleure façon que cela. Est-il ou devrait-je viens de le faire?
Grâce.
OriginalL'auteur Tim | 2012-02-12
Vous devez vous connecter pour publier un commentaire.
Juste par curiosité, quelqu'un pourrait-il expliquer pourquoi mon chemin a jeté l'exception, et pourquoi de cette façon, ne l'est pas?
stackoverflow.com/questions/5690351/...
comment inverser
OriginalL'auteur Louis Wasserman
Lors de l'utilisation de
toArray()
suivantes se produit: un nouvel Objet array est allouée à l'aide denew Object[size]
et chaque élément du tableau sera une référence à l'une de vos chaînes élément. Même si effectivement les points de cordes, c'est un tableau avec le typeObject
.Lors de l'utilisation de
toArray(T[] a)
suivantes se produit: un nouveau T tableaux est allouée à l'aide deet chaque de la matrice sera une référence à l'une de vos chaînes car
a.getClass().getComponentType
sera de retourString.class
dans votre cas. Cette fois, c'est un tableau avec le type String.OriginalL'auteur Bogdan T.