如何在java中将int []转换为Integer []?

时间:2012-08-26 00:38:57

标签: java arraylist

我有一个带有int数组的函数,需要将该数组放入arraylist

所以我使用list.addAll(Arrays.asList(array));

但由于listArrayList<Integer>addAll仅接受Integer[]而不是int[]

我应该如何将原始数组装入整数对象数组?

4 个答案:

答案 0 :(得分:3)

您可以使用Apache Commons的ArrayUtils

Integer[] integerArray = ArrayUtils.toObject(intArray);

从此开始,要创建List<Integer>,您可以使用:

List<Integer> integerList = Arrays.asList(ArrayUtils.toObject(intArray));

答案 1 :(得分:2)

static void addAll(final Collection<Integer> collection, final int[] v) {
  for (final int i : v) {
    collection.add(i);
  }
}
...
addAll(list, array);

答案 2 :(得分:1)

遍历int数组并实例化新的Integer个对象,并将它们放在ArrayList中。您将无法使用自动装箱,因为它仅适用于基元。数组不是原始类型。

答案 3 :(得分:0)

如果您有Guava,则可以使用

list.addAll(Ints.asList(array));

...顺便说一句,它产生的不必要的对象少于Apache Commons技术。 (具体来说,它不会打扰创建Integer[];它只会返回List<Integer>的{​​{1}}视图。)

披露:我为Guava做出贡献。