A
Archerfl
Unregistered / Unconfirmed
GUEST, unregistred user!
我的main主函数中的代码如下:
public static void main(java.lang.String[] args) {
Collection c = new ArrayList();
c.add("one");
c.add("two");
try {
String[] str = (String[])c.toArray();
for (int i = 0;
i < str.length;
i++)
System.out.println(str + " ==> " + str.getClass().getName());
}
catch (Exception e) {
e.printStackTrace();
}
}
很简单的一段代码。如上大家看到了,在Collection中存储的对象全部是String类型。
然后,我想通过这句:String[] str = (String[])c.toArray();
通过强制类型转换,获取
Collection中的实际类型。但是,有趣的是,这里总会出现异常,报告如下:
java.lang.ClassCastException
java.lang.Throwable()
java.lang.Exception()
java.lang.RuntimeException()
java.lang.ClassCastException()
void newpackagesix.MyClass.main(java.lang.String [])
void newpackagesix.MyClass.main(java.lang.String [])
类型转换异常,呵呵,不知道这是为什么?但是我这里存储的对象可确实是String类型的。
请各位大虾指点一二,谢!
public static void main(java.lang.String[] args) {
Collection c = new ArrayList();
c.add("one");
c.add("two");
try {
String[] str = (String[])c.toArray();
for (int i = 0;
i < str.length;
i++)
System.out.println(str + " ==> " + str.getClass().getName());
}
catch (Exception e) {
e.printStackTrace();
}
}
很简单的一段代码。如上大家看到了,在Collection中存储的对象全部是String类型。
然后,我想通过这句:String[] str = (String[])c.toArray();
通过强制类型转换,获取
Collection中的实际类型。但是,有趣的是,这里总会出现异常,报告如下:
java.lang.ClassCastException
java.lang.Throwable()
java.lang.Exception()
java.lang.RuntimeException()
java.lang.ClassCastException()
void newpackagesix.MyClass.main(java.lang.String [])
void newpackagesix.MyClass.main(java.lang.String [])
类型转换异常,呵呵,不知道这是为什么?但是我这里存储的对象可确实是String类型的。
请各位大虾指点一二,谢!