如何(有效地)将int []转换为Integer []?

jav*_*Man 2 java

是否有任何直接的方法将int数组转换为Integer数组,并逐个元素地循环.

蛮力的方式将是

int [] a = {1,2,3};
Integer [] b = new Integer[a.length];
for(i =0; i<a.length; i++)
    b[i]= i;
Run Code Online (Sandbox Code Playgroud)

在整个阵列中旅行有没有直接的方法?

Edw*_*uck 8

您已经找到了使用纯Java的"唯一"方法.我更喜欢通过明确的Integer构造

int[] a = {1,2,3};
Integer[] b = new Integer[a.length];
for (int i = 0; i < a.length; i++) {
    b[i] = Integer.valueOf(a[i]);
}
Run Code Online (Sandbox Code Playgroud)

请注意,Apache在Apache Lang中有一些实用程序,基本上做同样的事情; 然而,电话看起来更像

Integer[] newArray = ArrayUtils.toObject(oldArray);
Run Code Online (Sandbox Code Playgroud)

当然,如果你不包含Apache库,你可以编写自己的静态函数来使代码看起来很漂亮(如果你担心的话).


Bal*_*a R 5

有JDK内置,但如果你有apache commons,你可以使用

Integer[] ArrayUtils.toObject(int[] array)