List 集合给我们提供了一个把LIst转为数组的方法, toArray();
但是这个方法返回的类型是 Object[ ] ;
如果我们要是想强转为我们想要的类型,比如说是字符串数组类型 String[ ] ;
List list = new ArrayList<String>();
list.add("ab");
list.add("cd");
list.add("ef");
String[] strArr = (String[]) list.toArray();//这里会报类型转换异常
for(String s : strArr){
System.out.println(s);
}
因为这个时候我们在将list转换成数组的时候没有提前声明他的类型,在java.util 包下的List类中,toArray()有两个方法,
Object[] toArray();
<T> T[] toArray(T[] a);
所以我们不需要强转,只需要在转换的时候将需要的类型当成参数传入,java工具即可给我们返回我们想要的类型。
String[] array = list.toArray(new String[list.size()]);