object[]如何转换成int[]
请教,请指教.
------解决方案--------------------问题不具体,首先要说明Object里放的是什么类型,比如
Object[] obj = { "1 ", "2 ", "3 "};
int[] n = new int[obj.length];
for (int i=0; i <obj.length; i++) {
n[i] = Integer.paseInt((String)obj[i]);
}
或者可以考虑用数组拷贝,好象是System的一个方法吧,System.arrayCopy(),我这里没有jdk文档,LZ自己查一下吧,或者用Array.toArray(int[])也可以吧,查一下jdk文档就知道了
------解决方案--------------------jdk的这个性能不好,
建议用apache网站的commons-lang包,里面有ArrayUtils.java,很方便
------解决方案--------------------Object obj = new Object[]{1, 2, 3};
int[] n = (int[])obj;
------解决方案--------------------帮你写好了,记得要结贴.
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Iterator;
class Test {
public static void main(String[] args) {
Object[] obj = new Object[] { 4, 5, 6, 8 };
ArrayList <Object> a = new ArrayList <Object> ();
int i = Array.getLength(obj);
int[] b = new int[i];
System.out.println( "这个是object数组 ");
for (int j = 0; j < i; j++) {
a.add(obj[j]);
System.out.println(obj[j]);
}
Iterator it = a.iterator();
int j = 0;
while (it.hasNext()) {
b[j] = ((Integer) it.next()).intValue();
j++;
}
System.out.println( "这个是int数组 ");
for (int k = 0; k < b.length; k++) {
System.out.println(b[k]);
}
}
}
------解决方案--------------------学习啊
------解决方案--------------------遍历元素,逐个转换。
直接用
obj[] source=new obj[3];
int[] target=(int[])source;
整体转换是不行的。
------解决方案--------------------学习
------解决方案--------------------学习学习