Stringの list を array に変換するにはどうすればよいですか?次のコードはエラーを返します。
public static void main(String[] args) {
List<String> strlist = new ArrayList<String>();
strlist.add("sdfs1");
strlist.add("sdfs2");
String[] strarray = (String[]) strlist.toArray();
System.out.println(strarray);
}
エラー:
Exception in thread "main" Java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
at test.main(test.Java:10)
あなたが欲しい
String[] strarray = strlist.toArray(new String[0]);
ドキュメントについては here を参照してください。また、返される型を調べるために使用するのではなく、渡された配列に値を設定する方法でこのメソッドを呼び出すこともできます。また、配列を印刷するときは、
System.out.println(Arrays.toString(strarray));
それは実際の要素を出力するからです。
public static void main(String[] args) {
List<String> strlist = new ArrayList<String>();
strlist.add("sdfs1");
strlist.add("sdfs2");
String[] strarray = new String[strlist.size()]
strlist.toArray(strarray );
System.out.println(strarray);
}
List.toArray()
は必ずObjectの配列を返します。文字列の配列を取得するには、キャスト構文を使用する必要があります。
String[] strarray = strlist.toArray(new String[0]);
詳細については、Java.util.Listのjavadocを参照してください。
この種のタスクのために Dollar を設計および実装しました。
String[] strarray= $(strlist).toArray();
String [] strarray = strlist.toArray(new String [0]);
リストを文字列に変換する場合は、StringUtils.join(slist、 '\ n')を使用します。
これが誰かを助けることを願っています:
リストリスト= ..;
String [] stringArray = list.toArray(new String [list.size()]);
ここからの素晴らしい答え: https://stackoverflow.com/a/4042464/1547266