Comprendre l'exception ClassCastException dans (String[])List.toArray()
L'extrait de code que vous avez fourni déclenche une exception ClassCastException lors de la tentative de diffusion une ArrayList de chaînes en un tableau de chaînes. Cela se produit car la méthode toArray() en Java renvoie un tableau Object[], qui n'est pas compatible avec un tableau String[].
Pour surmonter ce problème, vous devez spécifier le type de tableau que vous souhaitez créer lors de l'utilisation de toArray(). La méthode correcte à utiliser dans ce cas est toArray(new String[v2.size()]). Cette méthode alloue un tableau String[] de la taille appropriée et lui affecte les éléments de l'ArrayList.
Par exemple :
<code class="java">final String[] v1 = i18nCategory.translation.get(id); final ArrayList<String> v2 = new ArrayList<>(Arrays.asList(v1)); String[] v3 = (String[])v2.toArray(new String[v2.size()]);</code>
Dans ce code mis à jour, nous spécifions explicitement que nous souhaitez qu'un tableau String soit créé, garantissant que l'opération de conversion réussit sans aucune ClassCastException.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!