java - Java中如何将数组转换为集合?

标签 java arrays collections

我在这里要做的是将数组转换为集合。

如何正确执行此操作?

这是我的数组:

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/

相关文章:

java - 为什么这个算法在 Python 中运行速度比 Java 慢 20 倍?

arrays - 找出恰好出现 N/2 次的数字

java - 将 HashMap 键迭代器转换为列表迭代器

SQL 服务器 Nvarchar 参数

java - 如何从java中的列表中获取从 HashMap 添加的值

java - 在java中使用numberFormat.parse ("")方法时得到错误的输出

java - 如何从具有多种对象类型的集合中只读取一种类型的特定对象

java - 如何在 Java 中使用 openxml 在 Excel 中创建超链接

java - 无法访问 while 循环内初始化的数组

java - 输入 10 个值并将所有值相加到一个 Java 数组中