2 lufuly lufuly 于 2017.01.13 11:20 提问

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);
}

}

3个回答

lufuly
lufuly   2017.01.13 11:40

已解决
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);

oyljerry
oyljerry   Ds   Rxr 2017.01.13 11:44

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

List list=new ArrayList();

oyljerry
oyljerry   Ds   Rxr 2017.01.13 11:47

不然就是遍历赋值

 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);
        }
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!