黑马程序员技术交流社区
标题:
为什么集合用了泛型之后还要强转?
[打印本页]
作者:
何清林
时间:
2014-2-26 13:32
标题:
为什么集合用了泛型之后还要强转?
为什么集合用了泛型之后还要强转?
我在使用集合向数组转换的时候使用了toArray(),已经限定类型了,为什么还要强转?请看,
//集合的添加
ArrayList<String> al1 = new ArrayList<String>();
al1.add("hql");
al1.addAll(set);
System.out.println(al1);
//集合的转换 toArray
String[] str = new String[al1.size()];
str = (String[]) al1.toArray();
作者:
e.c
时间:
2014-2-26 14:17
ArrayList的toArray()方法不带泛型的,它返回Object[]。所以要强转
用public <T> T[] toArray(T[] a)这个方法可以:al1.toArray(str);
作者:
yunzhongzhuhuo
时间:
2014-2-26 16:23
1楼说的正解,toArray()返回的就是一个Object类型的数组,所以你还要强转成String类型
这个是JDk上的文档,你可以看下。。。[attach]35282[/attach]
QQ图片20140226162152.jpg
(44.15 KB, 下载次数: 5)
下载附件
2014-2-26 16:22 上传
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2