我可以将整数数组转换为 List吗?或列表<整数>通过 Arrays.asList(array)?整数>
我必须将 int[] 重构为 Integer[] ?
Possible Duplicates:
Arrays.asList() not working as it should?
How to convert int[] into List<Integer> in Java?
Or must I refactor int[] to Integer[] ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
你不能有
List
Arrays.asList(array );
将返回类型为 T 的列表(传递的数组)您可以有类似的东西
You can't have
List<int>
Arrays.asList(array);
will return you List with type T of (passed array)You can have something like
你可以这样做
You can do this way
编辑:
从 develman 下面的评论来看,java 6 支持为相同的方法返回
List<>
对象旧答案:
Arrays.asList(array)
返回一个 <代码>java.util.List对象。EDIT :
From the comment below from develman, java 6 has support to return
List<>
object for same methodOLD ANSWER :
Arrays.asList(array)
returns you ajava.util.List
object.如果你有一个整数数组,那么你可以使用 Arrays.asList() 来获取整数列表:
If you have a array of Integers then you can use Arrays.asList() to get a List of Integers:
Arrays.asList(array) 返回数组上的列表类型视图。因此,您可以使用
List
接口来访问包装的java原语数组的值。现在,如果我们传递一个 java 对象数组和一个 java 原始值数组,会发生什么?该方法采用可变数量的 java 对象。 java 原语不是对象。 Java 可以使用自动装箱来创建包装器实例,但是在这种情况下,它将把数组本身作为一个 java 对象。所以我们最终会这样:
第一个集合保存整数值,第二个集合保存
int[]
数组。这里没有自动装箱。因此,如果您想要将 java 原语数组转换为
List
,您不能使用Arrays.asList
>,因为它只会返回一个仅包含一项的List
:数组。Arrays.asList(array)
returns a List-type view on the array. So you can use theList
interface to access the values of the wrapped array of java primitives.Now what happens if we pass an array of java Objects and an array of java primitive values? The method takes a variable number of java objects. A java primitive is not an object. Java could use autoboxing to create wrapper instances, but in this case, it will take the array itself as an java object. So we end up like this:
The first collection holds the integer values, the second one the
int[]
array. No autoboxing here.So if you want to convert an array of java primitives to a
List
, you can't useArrays.asList
, because it will simply return aList
that contains just one item: the array.