web-dev-qa-db-ja.com

List <Object>をJavaのString []に変換します

List<Object>からString[]に変換する必要があります。

私が作った:

List<Object> lst ...
String arr = lst.toString();

しかし、私はこの文字列を手に入れました:

["...", "...", "..."]

は1つの文字列ですが、String []が必要です

どうもありがとう。

16
calbertts

リストをループして_String[]_を埋める必要があります。

_String[] array = new String[lst.size()];
int index = 0;
for (Object value : lst) {
  array[index] = (String) value;
  index++;
}
_

リストがString値、Listの場合、これはlst.toArray(new String[0])を呼び出すのと同じくらい簡単です。

20
Dan D.

ToArray()を使用してオブジェクトの配列に変換し、続いて このメソッド を使用してオブジェクトの配列を文字列の配列に変換できます。

Object[] objectArray = lst.toArray();
String[] stringArray = Arrays.copyOf(objectArray, objectArray.length, String[].class);
14
Steve Chambers

List<Object>にはStringのコレクションが含まれますが、おそらくこれを試してください。

List<Object> lst = new ArrayList<Object>();
lst.add("sample");
lst.add("simple");
String[] arr = lst.toArray(new String[] {});
System.out.println(Arrays.deepToString(arr));
5
sundar

Java 8には、次のようなストリームを使用するオプションがあります。

List<Object> lst = new ArrayList<>();
String[] strings = lst.stream().toArray(String[]::new);
5
i_am_zero

Guava を使用

List<Object> lst ...    
List<String> ls = Lists.transform(lst, Functions.toStringFunction());
2
husayt

ここに役立つ概念がたくさんあります:

List<Object> list = new ArrayList<Object>(Arrays.asList(new String[]{"Java","is","cool"}));
String[] a = new String[list.size()];
list.toArray(a);

文字列の配列を印刷するためのヒント:

System.out.println(Arrays.toString(a));
2