Heim  >  Artikel  >  Java  >  Hier sind einige englische, fragenbasierte Titel, die zu Ihrem bereitgestellten Text passen: * Warum löst „List.toArray()“ beim Umwandeln in „String[]“ eine „ClassCastException“ aus? * So konvertieren Sie eine „ArrayList“ sicher

Hier sind einige englische, fragenbasierte Titel, die zu Ihrem bereitgestellten Text passen: * Warum löst „List.toArray()“ beim Umwandeln in „String[]“ eine „ClassCastException“ aus? * So konvertieren Sie eine „ArrayList“ sicher

Susan Sarandon
Susan SarandonOriginal
2024-10-27 08:19:31941Durchsuche

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

Verstehen der ClassCastException in (String[])List.toArray()

Der von Ihnen bereitgestellte Codeausschnitt löst beim Versuch einer Umwandlung eine ClassCastException aus eine ArrayList von Strings in ein String-Array. Dies liegt daran, dass die toArray()-Methode in Java ein Object[]-Array zurückgibt, das nicht mit einem String[]-Array kompatibel ist.

Um dieses Problem zu beheben, müssen Sie den gewünschten Array-Typ angeben erstellen, wenn toArray() verwendet wird. Die richtige Methode in diesem Fall ist toArray(new String[v2.size()]). Diese Methode weist ein String[]-Array der entsprechenden Größe zu und weist ihm die Elemente aus der ArrayList zu.

Zum Beispiel:

<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>

In diesem aktualisierten Code geben wir explizit an, dass wir möchte, dass ein String-Array erstellt wird, um sicherzustellen, dass der Umwandlungsvorgang ohne ClassCastException erfolgreich ist.

Das obige ist der detaillierte Inhalt vonHier sind einige englische, fragenbasierte Titel, die zu Ihrem bereitgestellten Text passen: * Warum löst „List.toArray()“ beim Umwandeln in „String[]“ eine „ClassCastException“ aus? * So konvertieren Sie eine „ArrayList“ sicher. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn