我在这里要做的是将数组转换为Collection。
如何正确地做到这一点?
这是我的阵列:
PersonList[] personlist = restTemplate.getForObject(url, PersonList[].class);
我在那里做的是,我得到JSON值并使用restTemplate,然后我把它放在PersonList数组对象中,但我想将值作为Collection返回。示例:
这是我想要呈现的非常错误的代码:
Collection<PersonList> personlist2 = personlist
它不能将数组绑定到集合,导致它的数据类型不同。 我可以兑换吗?
答案 0 :(得分:8)
你可以这样做:
List<PersonList> list = Arrays.asList(personlist);
(这个PersonList
本身是一个列表吗?如果没有,那么为什么这个类名为PersonList
而不是Person
?)。
请注意,Arrays.asList(...)
返回的列表由数组支持。这意味着如果更改列表中的元素,您将看到数组中的更改,反之亦然。
此外,您将无法在列表中添加任何内容;如果您在add
返回的列表上致电Arrays.asList(...)
,您将获得UnsupportedOperationException
。
如果你不想这样,你可以像这样制作一份清单:
List<PersonList> list = new ArrayList<>(Arrays.asList(personlist));
答案 1 :(得分:2)
最简单的方法是使用Arrays.asList
:
Collection<PersonList> personlist2 = Arrays.asList(personlist)
答案 2 :(得分:0)
PersonList[] personlist = restTemplate.getForObject(url, PersonList[].class);
ArrayList<PersonList> personlist2 = Arrays.asList(personlist)