Преобразовать список <Object> в String [] в Java - программирование
Подтвердить что ты не робот

Преобразовать список <Object> в String [] в Java

Мне нужно преобразовать из List<Object> в String[].

Я сделал:

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

Но я получил эту строку:

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

- это всего лишь одна строка, но мне нужна строка []

Большое спасибо.

4b9b3361

Ответ 1

Вам нужно пройти через список и заполнить 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]);

Ответ 2

Вы можете использовать toArray() для преобразования в массив объектов, за которым следует этот метод, чтобы преобразовать массив объектов в массив строк:

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

Ответ 3

Если мы уверены, что 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));

Ответ 4

Java 8 имеет возможность использования потоков, таких как:

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

Ответ 5

Здесь будет много понятий, которые будут полезны:

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));

Ответ 6

Использование Guava

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