list.toArray()转换为数组对象

List 集合给我们提供了一个把LIst转为数组的方法, toArray();

但是这个方法返回的类型是 Object[ ] ;

如果我们要是想强转为我们想要的类型,比如说是字符串数组类型 String[ ] ;

List list = new ArrayList();
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[] toArray(T[] a);

list.toArray()转换为数组对象_第1张图片

所以我们不需要强转,只需要在转换的时候将需要的类型当成参数传入,java工具即可给我们返回我们想要的类型。

String[] array = list.toArray(new String[list.size()]);

你可能感兴趣的:(Java基础)