java将对象数组转换为int数组

时间:2010-12-21 11:35:38

标签: java android

我怎么能这样做?我有一个对象数组id喜欢将其转换为int数组

2 个答案:

答案 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.