java.lang.ClassCastException 问题???

xinglongjian 2009-03-31 04:28:04
currClass的类型是java.util.ArrayList
但是我通过以下类型转换时怎么报java.lang.ClassCastException错误,请高手指点。
Collection<?> colTemp = Collection.class.cast(currClass);
...全文
247 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinglongjian 2009-04-01
  • 打赏
  • 举报
回复
哦,知道怎么回事了,搞混了 不好意思!
xinglongjian 2009-04-01
  • 打赏
  • 举报
回复
先谢谢各位了 代码是这样的
Class<?> currClass = oVal.getClass();

if (Collection.class.isAssignableFrom(currClass))
{
rntVal.clear();
Collection<?> colTemp = Collection.class.cast(currClass);
if (colTemp != null && colTemp.isEmpty()==false)
{
rntVal.addAll(colTemp);
}
}
else if (currClass.isArray())
{
rntVal.clear();
int size = Array.getLength(oVal);
for (int i = 0; i < size; i++)
{
rntVal.add(Array.get(oVal, i));
}
}
else if (Map.class.isAssignableFrom(currClass))
{
rntVal.clear();
System.out.println("FixedBasicObject ---getXxxValues():不支持数据对象类型");
}

就是当currClass 是java.util.ArrayList的时候就抱错了,
kingssman 2009-03-31
  • 打赏
  • 举报
回复
List currClass = new ArrayList();
Collection <?> colTemp = Collection.class.cast(currClass);


我的是jdk1。6
运行没有问题
LoveJava520 2009-03-31
  • 打赏
  • 举报
回复
查帮助文档可以:

public class ClassCastExceptionextends RuntimeException当试图将对象强制转换为不是实例的子类时,抛出该异常。例如,以下代码将生成一个 ClassCastException:


Object x = new Integer(0);
System.out.println((String)x);
=======================================================================================

currClass只能是Collection子类的实例.
ethan119 2009-03-31
  • 打赏
  • 举报
回复
不会报错,谢谢。
ouyangxiaokang6 2009-03-31
  • 打赏
  • 举报
回复

List currClass = new ArrayList();
Collection <?> colTemp = Collection.class.cast(currClass);
ouyangxiaokang6 2009-03-31
  • 打赏
  • 举报
回复
[Quote=引用楼主 xinglongjian 的帖子:]
currClass的类型是java.util.ArrayList
但是我通过以下类型转换时怎么报java.lang.ClassCastException错误,请高手指点。
Collection <?> colTemp = Collection.class.cast(currClass);
[/Quote]
什么意思呀?我的jdk是1.5.4,写你的代码没有问题。你把再详细点的代码贴出来。
Jane_m 2009-03-31
  • 打赏
  • 举报
回复
第一,Collection里没有Class这个关键字
第二,Class类中的Cast()方法不是静态方法
第三,Collection<?>中的问好应该写具体的类名
scarlet365 2009-03-31
  • 打赏
  • 举报
回复
LZ在看看你的currClass,确定是Collection接口的导出类吗?
异常应该是在cast()方法抛出的
网络科技 2009-03-31
  • 打赏
  • 举报
回复
可能类型不一致

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧