Преобразуйте ArrayList в объектный массив

Есть ли команда в Java для преобразования ArrayList в объектный массив. Я знаю, как сделать это копирование каждого объекта от arrayList в объектный массив, но я задавался вопросом, будет ли он быть сделанным автоматически.

Я хочу что-то вроде этого:

ArrayList<TypeA> a;

// Let's imagine "a" was filled with TypeA objects

TypeA[] array = MagicalCommand(a);
33
задан marionmaiden 30 April 2010 в 14:47
поделиться

4 ответа

Что-то вроде стандартной Collection. toArray(T[]) должно сделать то, что вам нужно (обратите внимание, что ArrayList реализует Collection):

TypeA[] array = a.toArray(new TypeA[a.size()]);

В качестве примечания, вам следует рассмотреть возможность определения a как типа List, а не ArrayList, это позволит избежать некоторых специфических определений, которые могут быть неприменимы для вашего приложения.

Также смотрите этот вопрос об использовании a.size() вместо 0 в качестве размера массива, передаваемого в a.toArray(TypeA[])

95
ответ дан 27 November 2019 в 17:29
поделиться
TypeA[] array = (TypeA[]) a.toArray();
0
ответ дан 27 November 2019 в 17:29
поделиться

Да. ArrayList имеет метод toArray().

http://java.sun.com/javase/6/docs/api/java/util/ArrayList.html

8
ответ дан 27 November 2019 в 17:29
поделиться

Вы можете использовать этот код

ArrayList<TypeA> a = new ArrayList<TypeA>();
Object[] o = a.toArray();

Затем, если вы хотите вернуть объект в TypeA, просто проверьте его с помощью метода instanceOf.

11
ответ дан 27 November 2019 в 17:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: