黑马程序员技术交流社区
标题:
关于将集合转换为数组的问题
[打印本页]
作者:
李东城
时间:
2013-2-13 23:00
标题:
关于将集合转换为数组的问题
ArrayList<String> list = new ArrayList<String>();
list.add("fff");
list.add("fffff");
String[] str = (String[])list.toArray();
但是此时却产生了类转换异常,不知道是为什么。调试了很长时间都不知道什么原因。
后来用了这种方法却没有异常:
String str[] = list.toArray(new String[]{});
复制代码
不知道是什么原因啊!
作者:
坚持远方
时间:
2013-2-13 23:13
Object[] toArray()
按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组。
<T> T[] toArray(T[] a)
按适当顺序(从第一个到最后一个元素)返回包含此列表中所有元素的数组;返回数组的运行时类型是指定数组的运行时类型。
这是toArray的两个方法,你看一下吧
作者:
陈科宇
时间:
2013-2-14 15:10
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;
}
}
作者:
黄锦成
时间:
2013-2-14 15:11
05.String[] str = (String[])list.toArray();
list.toArray();返回的是Object[],Object[]中可能存放着多种类型的数据,转换为String[]就会出错
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2