类型转换异常

再不斩 2013-10-16 12:31:06
什么情况下会导致同一种类型转换异常?
比如String a = (String)obj
...全文
325 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
小行星0906 2013-10-16
  • 打赏
  • 举报
回复
父类转子类特别容易出现,我是这么理解: 父类A 子类A1,A2 A a = new A1(); A2 b = (A2)a;//基本异常定了 我的想打就是父类A,只有2属性name,age; 子类A1比父类多了个address; 子类A2比父类多了个school; A1继承A,所以当我说它是A也无可厚非,因为它就有name和age; 但是我要硬说它是A2,那school呢,显然没。 所以我记得书本上总结的一句:向下类型转换一定要看生成实例对象的是哪个类.
Defonds 2013-10-16
  • 打赏
  • 举报
回复
Child1 和 Child2 都继承自 Parent。 Child1 和 Child2 都是 Parent 类型,但相互强制转换的话,会报错。
ganshenml 2013-10-16
  • 打赏
  • 举报
回复
个人理解:向上转型一般不会,但是向下转型的话,很有可能出现异常 例如:基本数据类型转换的时候: float a=1.0; 这样编译器是会提示的;因为a是float型的,而1.0编译器是默认double型的,那么的话,由double型转换成float型会丢失精度,所有会出现报错; 结合你上面的就可以知道了,既然你已经强制转换了,怎么会出错呢?
再不斩 2013-10-16
  • 打赏
  • 举报
回复
多谢各位。 我是说classA强转classA时导致的,日志显示两个classLoader不同。 参考一下 http://blog.csdn.net/wangchengsi/article/details/2110647
无聊找乐 2013-10-16
  • 打赏
  • 举报
回复
什么情况下会导致同一种类型转换异常? 比如String a = (String)obj obj不是String的时候导致 转换异常
简单的格调 2013-10-16
  • 打赏
  • 举报
回复
向上转型都不会出现错误,系统默认,但是向下转型虚拟机会报错,需要进行强转。

62,614

社区成员

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

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