提供されたテキストに適合する英語の質問ベースのタイトルをいくつか示します。 * `List.toArray()` が `String[]` にキャストするときに `ClassCastException` をスローするのはなぜですか? * `ArrayList` を安全に変換する方法

Susan Sarandon
リリース: 2024-10-27 08:19:31
オリジナル
957 人が閲覧しました

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

(String[])List.toArray() の ClassCastException を理解する

指定したコード スニペットは、キャストしようとすると ClassCastException を発生させます。文字列の ArrayList を String 配列に変換します。これは、Java の toArray() メソッドが String[] 配列と互換性のない Object[] 配列を返すために発生します。

この問題を解決するには、配列の種類を指定する必要があります。 toArray() を使用するときに作成します。この場合に使用する正しいメソッドは toArray(new String[v2.size()]) です。このメソッドは、適切なサイズの String[] 配列を割り当て、ArrayList の要素をそれに割り当てます。

例:

<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>
ログイン後にコピー

この更新されたコードでは、次のように明示的に指定します。 ClassCastException が発生せずにキャスト操作が確実に成功するように、String 配列を作成する必要があります。

以上が提供されたテキストに適合する英語の質問ベースのタイトルをいくつか示します。 * `List.toArray()` が `String[]` にキャストするときに `ClassCastException` をスローするのはなぜですか? * `ArrayList` を安全に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!