Maison  >  Article  >  Java  >  Voici quelques titres basés sur des questions en anglais qui correspondent au texte fourni : * Pourquoi `List.toArray()` lance-t-il une `ClassCastException` lors de la conversion en `String[]` ? * Comment convertir en toute sécurité une « ArrayList »

Voici quelques titres basés sur des questions en anglais qui correspondent au texte fourni : * Pourquoi `List.toArray()` lance-t-il une `ClassCastException` lors de la conversion en `String[]` ? * Comment convertir en toute sécurité une « ArrayList »

Susan Sarandon
Susan Sarandonoriginal
2024-10-27 08:19:31941parcourir

Here are a few English question-based titles that fit your provided text:

* Why Does `List.toArray()` Throw a `ClassCastException` When Casting to `String[]`? 
* How to Safely Convert an `ArrayList` to a `String[]` in Java?
* Understanding the `ClassCast

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn