public class ConvertToArray {
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayList<String> list = new ArrayList<String>();
list.add("fff");
list.add("fffff");
String[] str = (String[])list.toArray();
//list.toArray()返回的是Object[]数组。而Object[]类型是不能转化成String[]类型的。
// 但是此时却产生了类转换异常,不知道是为什么。调试了很长时间都不知道什么原因。
// 后来用了这种方法却没有异常:
String[] str2= list.toArray(new String[]{});
//list.toArray(T[] t);通配符T表示可以根据需要传入类型。例如我们需要
//转化成String[],就传入String[].
//看到下面的小例子就知道了。
//这样转换不行。
Object[] obj1=new Object[]{"keyee","rory"};
String[] str1=obj1;
//下列的转换才是可以的。
String[] str3=new String[]{"keyee","rory"};
Object[] obj2=str2;
}
} |