从ArrayList <Integer>创建一个int []

Jus*_*tin 0 java arrays casting arraylist

是否有一种简单的方法来创建一个int[]或等同Integer[]ArrayList<Integer>

当我尝试时(Integer[])list.getArray(),我得到这个堆栈跟踪:

线程"main"中的异常java.lang.ClassCastException:[Ljava.lang.Object; 无法转换为[Ljava.lang.Integer;

我能想到的另一种方式是:

int[] array = new int[list.size()];
for (int i = 0; i < array.size; i++){
    array[i] = list.get(i);
    //or I could do list.remove(0), is there any difference?
}
return array;
Run Code Online (Sandbox Code Playgroud)

但那种方式似乎非常缓慢.

san*_*hat 8

yourIntList.toArray(new Integer[yourIntList.size()]);
Run Code Online (Sandbox Code Playgroud)