Java – int []をInteger []に変換する例
例は、int[]とそのラッパークラスInteger[]の間で変換する方法を示しています。
1. int []をInteger []に変換します
public static Integer[] toObject(int[] intArray) {
Integer[] result = new Integer[intArray.length];
for (int i = 0; i < intArray.length; i++) {
result[i] = Integer.valueOf(intArray[i]);
}
return result;
}
2. Integer []をint []に変換します
public static int[] toPrimitive(Integer[] IntegerArray) {
int[] result = new int[IntegerArray.length];
for (int i = 0; i < IntegerArray.length; i++) {
result[i] = IntegerArray[i].intValue();
}
return result;
}
理論は単純で、新しい配列を作成し、古い値を内部にダンプします。
1. 完全な例
完全な例を確認して、その仕組みを説明します。
ArrayConvertExample.java
package com.example.test;
public class ArrayConvertExample {
public static void main(String[] args) {
int[] obj = new int[] { 1, 2, 3 };
Integer[] newObj = toObject(obj);
System.out.println("Test toObject() - int -> Integer");
for (Integer temp : newObj) {
System.out.println(temp);
}
Integer[] obj2 = new Integer[] { 4, 5, 6 };
int[] newObj2 = toPrimitive(obj2);
System.out.println("Test toPrimitive() - Integer -> int");
for (int temp : newObj2) {
System.out.println(temp);
}
}
// Convert int[] to Integer[]
public static Integer[] toObject(int[] intArray) {
Integer[] result = new Integer[intArray.length];
for (int i = 0; i < intArray.length; i++) {
result[i] = Integer.valueOf(intArray[i]);
}
return result;
}
// Convert Integer[] to int[]
public static int[] toPrimitive(Integer[] IntegerArray) {
int[] result = new int[IntegerArray.length];
for (int i = 0; i < IntegerArray.length; i++) {
result[i] = IntegerArray[i].intValue();
}
return result;
}
}
出力
Test toObject() - int -> Integer 1 2 3 Test toPrimitive() - Integer -> int 4 5 6
2. ArrayUtilsの例
時間を節約するために、Apache共通ライブラリのArrayUtilsクラスを使用します。これは同じことを行います。
ArrayConvertExample.java
package com.example.test;
import org.apache.commons.lang3.ArrayUtils;
public class ArrayConvertExample {
public static void main(String[] args) {
int[] obj = new int[] { 1, 2, 3 };
Integer[] newObj = ArrayUtils.toObject(obj);
System.out.println("Test toObject() - int -> Integer");
for (Integer temp : newObj) {
System.out.println(temp);
}
Integer[] obj2 = new Integer[] { 4, 5, 6 };
int[] newObj2 = ArrayUtils.toPrimitive(obj2);
System.out.println("Test toPrimitive() - Integer -> int");
for (int temp : newObj2) {
System.out.println(temp);
}
}
Test toObject() - int -> Integer 1 2 3 Test toPrimitive() - Integer -> int 4 5 6