首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以通过List<int> (数组)将整数数组转换为List<Integer>或Arrays.asList吗?

我可以通过List<int> (数组)将整数数组转换为List<Integer>或Arrays.asList吗?
EN

Stack Overflow用户
提问于 2011-01-25 10:13:02
回答 5查看 1.8K关注 0票数 1

可能重复:

Arrays.asList() not working as it should?

How to convert int[] into List in Java?

还是我必须将int[]重构为Integer[]?

EN

回答 5

Stack Overflow用户

发布于 2011-01-25 10:14:39

您不能让List<int>

  • Arrays.asList(array);返回类型为T的
  1. (传递的数组)

你可以有这样的东西

代码语言:javascript
复制
  Integer[] a = new Integer[]{1,2,3};
  List<Integer> lst = Arrays.asList(a);
票数 2
EN

Stack Overflow用户

发布于 2011-01-25 10:16:41

你可以这样做

代码语言:javascript
复制
Integer[] a ={1,2,4};

List<Integer> intList =  Arrays.asList(a);

System.out.println(intList);
票数 2
EN

Stack Overflow用户

发布于 2011-01-25 10:25:30

Arrays.asList(array)返回数组上的列表类型视图.因此,您可以使用List接口访问包装好的java原语数组的值。

现在,如果我们传递一个java对象数组和一个java原语值数组,会发生什么呢?该方法接受可变数量的java对象。java原语不是对象。Java可以使用自动装箱来创建包装器实例,,但在本例中,将把数组本身作为java对象。所以我们就这样结束了

代码语言:javascript
复制
List<Integer> list1 = Arrays.asList(new Integer[]{1,2,3}));
List<int[]>   list2 = Arrays.asList(new int[]{1,2,3}));

第一个集合保存整数值,第二个集合保存int[]数组。这里没有自动拳击。

因此,如果要将java原语数组转换为List,则不能使用Arrays.asList,因为它只返回一个只包含一个项的List:数组。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4792204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档