首页 > 其他 > 详细

强制类型转换问题

时间:2018-05-15 20:18:24      阅读:136      评论:0      收藏:0      [点我收藏+]

今天看spring源码看到这样一段:

技术分享图片

查看ConfigurableListableBeanFactory和BeanDefinitionRegistry类结构图:

技术分享图片

技术分享图片

八竿子打不着的两个接口,但是可以强制转换,而且连警告都没有。

但是还有这么一个类:

技术分享图片

经测试发现,如果两个不想关的类,直接强制转换,会报错,因为编译器可以知道这两个肯定是不能互相转换的。

但是两个接口,编译器不会报错,为什么呢?因为实现类可能会同时实现两个接口,那么就可以转换了。但是如果实现类确实没有两个接口都实现,那么运行时是会报错的。

正如java泛型机制,其中一个好处将运行时错误提前到编译时发现,而这个只能在运行时报错,总感觉哪儿有点不对!

强制类型转换问题

原文:https://www.cnblogs.com/zby9527/p/9042694.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!