java int[]和Integer[]数组之间的互转

小豆苗 1年前 ⋅ 1305 阅读
最普通的做法
public static Integer[] intArray2IntegerArray(int[] data) {
Integer[] newData = new Integer[data.length];
for(int i : data)
newData[i] = data[i];
return newData;
}

public static int[] integerArray2IntArray(Integer[] data) {
int[] newData = new int[data.length];
for(int i : data)
newData[i] = data[i].intValue();
return newData;
}
//#####JDK 8之前的版本
// int[] --> Integer[]
int[] arr = {1, 2, 3, 4, 5, 6, 8, 0};
Integer[] integers = ArrayUtils.toObject(arr);

// Integer[] --> int[]
int[] ints = ArrayUtils.toPrimitive(integers);

//#####JDK 8之后的版本
// int[] --> Integer[]
int[] arr = {1, 2, 3, 4, 5};
Integer[] integers = Arrays.stream(arr).boxed().toArray(Integer[]::new);
// Integer[] --> int[]
int[] ints = Arrays.stream(integers).mapToInt(Integer::valueOf).toArray();

全部评论: 0

    我有话说: