我怎么能这样做?我有一个对象数组id喜欢将其转换为int数组
答案 0 :(得分:7)
如果Object [] objectArray像objectArray = {2,23,42,3}
那么
public static Integer[] convert(Object[] objectArray){
Integer[] intArray = new Integer[objectArray.length];
for(int i=0; i<objectArray.length; i++){
intArray[i] = (Integer) objectArray[i];
}
return intArray;
}
如果您的objectArray类似于Object[] objectArray = new Integer[/*length*/];
您可以简单地投射(Integer []) objectArray;
答案 1 :(得分:0)
如果内容可以投放到Integer
,您可以将数组转换为Integer []
并将其元素用作int
:
Object [] arr = new Integer[3];
arr[0] = new Integer(1);
arr[1] = new Integer(2);
arr[2] = 3;
Integer [] newa = (Integer []) arr;
for(int i:newa) {
System.err.print(i+" ");
}
否则,您可以创建一个与原始数组长度相同的新int []
数组,然后将新创建的数组中的元素设置为转换给出的值:
int [] arr = new int[origarr.length];
arr[0] = convertTo_int(origarr[0]);
// convertTo_int implementation depends on the type of origarr elements.