黑马程序员技术交流社区
标题:
转换异常的一个问题?
[打印本页]
作者:
王洪波
时间:
2013-5-10 16:36
标题:
转换异常的一个问题?
本帖最后由 王洪波 于 2013-5-12 00:08 编辑
Collection c3 = new HashSet();
c3.add("A");
c3.add("F");
String[] ss = (String[])c3.toArray();
System.out.println(ss);
复制代码
报这个异常 java.lang.ClassCastException, why?
作者:
yedong07a
时间:
2013-5-10 17:38
本帖最后由 yedong07a 于 2013-5-10 18:23 编辑
Collection c3 = new HashSet();
c3.add("A");
c3.add("F");
Object[] objs = c3.toArray();
for (Object obj : objs) {
System.out.println(obj);
}
复制代码
这样试试
Collection的toArray()方法返回的Object[]
作者:
王洪波
时间:
2013-5-10 17:41
yedong07a 发表于 2013-5-10 17:38
这样试试
为什么不能强制类型转换?
作者:
孙金鑫
时间:
2013-5-10 18:05
import java.util.*;
class SetDemo
{
public static void main(String[] args)
{
Collection<String> c3 = new HashSet<String>();//指定泛型
c3.add("A");
c3.add("F");
String[] str = new String[c3.size()]; //集合变数组,需要在这里先创建一个数组。
String[] ss = c3.toArray(str); //toArray(),里面传进数组参数。(String[]),不知道你这是什么意思,强转?这也用不着强转
System.out.println(Arrays.toString(ss));//是System,不是system;打印ss只是数组的地址值
}
复制代码
作者:
王洪波
时间:
2013-5-10 18:24
孙金鑫 发表于 2013-5-10 18:05
先谢谢你的解答。你的解答是正确的。可是你改变了前提条件,我没有用泛型,不是吗?
我问的是强制类型转换为什么会抛异常
作者:
殇_心。
时间:
2013-5-11 22:46
如果问题已解决,请及时修改分类,否则继续提问,谢谢合作!
作者:
1844611785
时间:
2013-5-11 22:50
import java.util.*;
class SetDemo
{
public static void main(String[] args)
{
Collection c3 = new HashSet();
c3.add("A");
c3.add("F");
Object[] ss = c3.toArray();
System.out.println(Arrays.toString(ss));
}
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2