我在这里要做的是将数组转换为集合。
如何正确执行此操作?
这是我的数组:
PersonList[] personlist = restTemplate.getForObject(url, PersonList[].class);
我在那里做的是,我获取 JSON 值并使用 restTemplate 进行消费,然后将其放入 PersonList 数组对象中,但我想将值作为 Collection 返回。示例:
这是我试图呈现的非常错误的代码:
Collection<PersonList> personlist2 = personlist
它不能将数组绑定(bind)到集合,因为它是不同的数据类型。 我可以转换它吗?
最佳答案
你可以这样做:
List<PersonList> list = Arrays.asList(personlist);
(这个 PersonList
本身是一个列表吗?如果不是,那么为什么类名为 PersonList
而不是 Person
?)。
请注意 Arrays.asList(...)
返回的列表由数组支持。这意味着如果您更改列表中的元素,您将看到数组中的更改,反之亦然。
此外,您将无法向列表中添加任何内容;如果您在 Arrays.asList(...)
返回的列表上调用 add
,您将得到一个 UnsupportedOperationException
。
如果你不想这样,你可以像这样复制列表:
List<PersonList> list = new ArrayList<>(Arrays.asList(personlist));
关于java - Java中如何将数组转换为集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30320924/