| 你可以试着用下面的两种方法解决 1、
 Object[] o =  list.toArray();
 2、
 Integer[] a = list.toArray(new Integer[0]);
 就算用的是泛型,toArray的返回类型也是Object类型,而强制类型转换是不允许数组强制的,所以有了带参数的toArray方法
 而带参数的toArray(T[] a) 方法,则是根据参数数组的类型,构造了一个对应类型的,长度跟ArrayList的size一致的空数组,虽然方法本身还是以 Object 数组的形式返回结果,不过由于构造数组使用的ComponentType跟需要转型的ComponentType一致,就不会产生转型异常;你可以试着这样写:
 public static void main(String[] args)
 {
 ArrayList <Integer> list = new ArrayList <Integer>();
 for(int i = 0 ; i < 5; i ++)
 {
 list.add(i);
 }
 Object[] o =  list.toArray();
 Integer[] a = list.toArray(new Integer[0]);
 System.out.println(Arrays.toString(o));
 for(int i : a)
 {
 System.out.println(i);
 }
 
 }
 
 
 
 |