を使用します。 T[] toArray (T[] a);"。"/> を使用します。 T[] toArray (T[] a);"。">
Java でリスト コレクションを配列に変換する方法: 1. パラメーターなしの toArray メソッドを使用します (構文形式は「Object[] toArray();」です)。 2. ジェネリックスをサポートする toArray メソッドを使用します。構文形式は「
T[] toArray(T[] a);」です。
関連する推奨事項: 「Java ビデオ チュートリアル 」
Java では、よく次のような問題が発生します。リストと配列の間の変換が必要なシナリオに。では、リストを配列に変換するにはどうすればよいでしょうか?次の記事で紹介します。
List を配列に変換するには、List の toArray() または toArray(T[] a) メソッドを使用できます。
リストを配列に変換する
リストを配列に変換するには、toArray メソッドを呼び出します。
次の 2 つがあります。オーバーロードはここにあります メソッド、
通常は、ジェネリック パラメーターを持つ 2 番目のメソッドを使用します:
Object[] toArray(); <T> T[] toArray(T[] a);
2.1. パラメーターのない toArray メソッド
Object[] toArray();
このメソッドは直接リスト変換します。 Object[]配列に。
Java 初心者はこのメソッドを使用するのが好きです。
パラメータなしで使用すると非常に便利です。
コードのコンパイル時にエラーは発生しません。
間違った使用例 コードは次のとおりです:
List<String> strList = new ArrayList<>(); strList.add("list-a"); strList.add("list-b"); String[] strArray = (String[]) strList.toArray();
結果が実行されるとすぐにエラーが直接報告され、
は Object[] を String[] に変換できません:
Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
正しい使用コードは次のとおりです:
List<String> strList = new ArrayList<>(); Object[] strArray = strList.toArray();
通常は役に立たない Object[] を取得しました。
2.2. ジェネリック toArray メソッドのサポート
<T> T[] toArray(T[] a);
このメソッドは型 T の配列を受け取ります。ジェネリック型パラメータ。
int[] 型の配列を使用している場合、
int[] を Integer[] に置き換える必要があります。
使用するサンプル コードは次のとおりです:
List<String> strList = new ArrayList<>(); strList.add("list-a"); strList.add("list-b"); String[] strArray = strList.toArray(new String[strList.size()]);2.3. toArray メソッドの入力パラメーターの配列サイズ
次のコードの場合、
初期化された String 配列
のサイズとリスト strList.size() のサイズとの関係、および
が戻り値に与えるさまざまな影響を分析します。 :
List<String> strList = new ArrayList<>(); strList.add("list-a"); strList.add("list-b"); String[] strArray1 = new String[size]; String[] strArray2 = strList.toArray(strArray1);
2.3 .1.size 4e69d3d77f834cb9471db539ab42ca63 strList.size( )
ここで size=strList.size() 1, コード変更部分は次のとおりです:String[] strArray1 = new String[strList.size()+1];返される strArray2 と strArray1 は同じオブジェクトですただし、配列の最後の要素は null です。 配列内の要素がリストよりも多い場合、リストがコピーされた直後の配列の末尾null に設定されます。つまり、strArray1[strList.size()]=null,これは、呼び出し元が配列の実際の長さを判断するのに役立ちます。strList.size() 2 初期化配列を使用する場合、配列の最後から 2 番目の要素は null です。 プログラミング関連の知識について詳しくは、
プログラミング教育
をご覧ください。 !以上がJavaでリストを配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。