博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
强制类型转换问题
阅读量:6428 次
发布时间:2019-06-23

本文共 356 字,大约阅读时间需要 1 分钟。

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

查看ConfigurableListableBeanFactory和BeanDefinitionRegistry类结构图:

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

但是还有这么一个类:

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

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

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

转载于:https://www.cnblogs.com/zby9527/p/9042694.html

你可能感兴趣的文章
使用Fuel安装OpenStack juno之三使用OpenStack创建云主机和Volume
查看>>
zabbix安装源
查看>>
Eclipse+kafka集群 实例源码
查看>>
Vijos 1067Warcraft III 守望者的烦恼
查看>>
LinkedList
查看>>
Python number
查看>>
【Lv1-Lesson008】A Guide to Birthdays
查看>>
MySQL_PHP学习笔记_2015.04.19_PHP连接数据库
查看>>
juery 选择器 选择多个元素
查看>>
【新手向】TensorFlow 安装教程:RK3399上运行谷歌人工智能
查看>>
Oracle Net Configuration(监听程序和网络服务配置)
查看>>
c语言_判断例子
查看>>
ubuntu重启不清除 /tmp 设置
查看>>
面向对象
查看>>
JSON
查看>>
SAP发布wbservice,如果有权限管控的话,需要给这个webservice加权限
查看>>
16.Python网络爬虫之Scrapy框架(CrawlSpider)
查看>>
stm 常用头文件
查看>>
mac 删除文件夹里所有的.svn文件
查看>>
程序制作 代写程序 软件定制 代写Assignment 网络IT支持服务
查看>>