網上搜Arraylist和數組互相轉換的方法時,舉的例子都是String類型的。好比:數組
可是對於int類型若是這樣寫:element
ArrayList<Integer> a=new ArrayList<Integer>();
int[] array=(int[])a.toArray(new int[size]);//會報錯
則會報錯,這是由於int[]並不等同於Integer[]。所以若是換成Integer[]數組,則能正確運行。
List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
Integer[] array = list.toArray(new Integer[list.size()]);//能正確運行
for(int element:array){
System.out.println(element);
}
若是非得但願獲得int[]的話,只能用循環賦值來獲得了。get
int[] d = new int[list.size()];
for(int i = 0;i<list.size();i++){
d[i] = list.get(i);
}
若是既不想用循環,又想要獲得int[],那就只能在jdk8中使用IntStream了。jdk