2015-05-19 3 views
4

То, что я пытаюсь сделать здесь, - это преобразовать массив в коллекцию.

Как это сделать правильно?Как преобразовать массив в коллекцию в Java?

Вот мой массив:

PersonList[] personlist = restTemplate.getForObject(url, PersonList[].class); 

Что делать Eсть, я получаю значение JSON и потреблять с restTemplate, то я положил его в PersonList объект массива, но я хочу, чтобы вернуть значение в качестве коллекции. Пример:

Это очень неправильный код, который я пытаюсь представить:

Collection<PersonList> personlist2 = personlist 

Он не может связать массив коллекции, потому что это другой тип данных. Можно ли его преобразовать?

+7

Try 'Arrays.asList (personList)' – Thomas

ответ

8

Вы можете сделать это:

List<PersonList> list = Arrays.asList(personlist); 

(Является ли это PersonList сам список Если нет, то почему класс по имени PersonList? вместо Person?).

Обратите внимание, что список, возвращаемый Arrays.asList(...), поддерживается массивом. Это означает, что если вы измените элемент в списке, вы увидите изменение в массиве и наоборот.

Кроме того, вы не сможете ничего добавить в список; если вы позвоните add в список, который возвращается Arrays.asList(...), вы получите UnsupportedOperationException.

Если вы не хотите этого, вы можете сделать копию списка, как это:

List<PersonList> list = new ArrayList<>(Arrays.asList(personlist)); 
2

Проще всего было бы использовать Arrays.asList:

Collection<PersonList> personlist2 = Arrays.asList(personlist) 
0
PersonList[] personlist = restTemplate.getForObject(url, PersonList[].class); 
ArrayList<PersonList> personlist2 = Arrays.asList(personlist) 
Смежные вопросы