java runtime type 问题求解

public class SystemTest {

public static void main(String[] args) {
    List<Integer> list=new ArrayList<Integer>();
    list.add(0);list.add(1);list.add(2);
    Integer[] in=new Integer[5];
    System.arraycopy(list, 0,in, 0, list.size());
    System.out.println(in);
}

}

已解决
public static native void arraycopy(Object src, int srcPos,
Object dest, int destPos,
int length);
事实上object只能是数组,
public static native void arraycopy(Object[] src, int srcPos,
Object[] dest, int destPos,
int length);

System.arraycopy 需要src和dst都是Integer[]
你其实就用List和ArrayList就可以了。

List list=new ArrayList();

不然就是遍历赋值

 List<Integer> list=new ArrayList<Integer>();
        list.add(0);list.add(1);list.add(2);
        Integer[] in = new Integer[5];
        for (int index = 0; index < list.size(); index++) {
            in[index] = list.get(index);
        }