讲解API:
1.list.toArray();
2.list.toArray(T[] a);
作用:将集合转换为集合。
目的:解决toArray()出现的 类型转换异常
代码:
ArrayList<String> list=new ArrayList<String>();
for (int i = 0; i < 10; i++) {
list.add(""+i);
}
String[] array= (String[]) list.toArray();
异常: Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [Ljava.lang.String;
原因:toArray(),将集合(向上转型)转换为Object类型的数组。
不支持向下转型。所以不能强转成String
解决方案(一):一个一个元素转成目标类型!
代码:
Object[] arr = list.toArray();
for (int i = 0; i < arr.length; i++) {
String e = (String) arr[i];
System.out.println(e);
}
解决方案(二):使用重载方法 list.toArray(T[] a);
ArrayList<String> list=new ArrayList<String>();
for (int i = 0; i < 10; i++) {
list.add(""+i);
}
String[] array =new String[list.size()];
list.toArray(array);
,