使用System.arraycopy复制到ArrayList时获取异常,gets:ArrayStoreException:null

gad*_*don 4 java arrays arraylist

我在尝试复制两个数组时遇到了一些麻烦.考虑以下简单代码:

    ArrayList<Integer> t1 = new ArrayList<Integer>();
    Integer i1 = new Integer(1);
    Integer i2 = new Integer(2);
    t1.add(i1);
    t1.add(i2);

    ArrayList<Integer> t2 = new ArrayList<Integer>();
    System.arraycopy(t1, 0, t2, 0, t1.size());
Run Code Online (Sandbox Code Playgroud)

控制台显示:java.lang.ArrayStoreException:null.这段代码可能有什么问题,或者我怎么能以不同的方式做到这一点.抱歉可能是一个简单的问题,但我已经坚持了几个小时,无法解决它.

Eri*_*zzo 12

System.arraycopy要求数组(例如Integer [])作为数组参数,而不是ArrayLists.

如果您希望复制此类列表,请执行以下操作:

List<Integer> t2 = new ArrayList<Integer>(t1);
Run Code Online (Sandbox Code Playgroud)