2010-12-21 43 views

回答

8

如果对象[] 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;

+0

+1好一个!可以转换为int利用Autoboxing功能! – 2010-12-21 12:15:06

+0

@Ratna谢谢:) – 2010-12-21 12:20:37

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.