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()]);
次のコードの場合、
初期化された 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 < strList.size()
size=0 を設定します、
は strList.size()=2 より小さいです、
コード変更部分は次のとおりです。
String[] strArray1 = new String[0];
返された strArray2 と strArray1 は同じオブジェクトではありません。
2.3.2.size = strList.size()
今度は、size=strList.size(),
コード変更部分は次のとおりです。
String[] strArray1 = new String[strList.size()];
String[] strArray = strList.toArray(new String[strList.size()]); String[] strArray = new String[strList.size()]; strList.toArray(strArray);
String[] strArray1 = new String[strList.size()+1];
プログラミング教育
をご覧ください。 !以上がJavaでリストを配列に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。