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!