如何理解 Java 泛型擦除?
最近在学习泛型,一直不理解泛型擦除是怎么回事,也查阅很多博客但还是不理解,都没说清楚泛型擦除是怎么进行的,是怎么擦除的,都是说泛型擦除是在编译后,然后将泛型信息擦除,将泛型编译为参数类型对应的类型:
有Test.java文件,文件内容为
public static void main(String[] args){ List<String> list=new ArrayList();① }
问题1:泛型擦除是在编译后,编译后就是把全部.java文件编译成.class文件,擦除是擦除的是执行①后的实际对象中的吗?这似乎也说不通,因为new ArrayList() 的时候并没有限定类型,只是在声明的时候限定了类型
问题2:因为查阅资料都说的是编译后进行泛型擦除,就是说这个不可能是在new一个对象的时候进行泛型擦除,因为编译时还不能确定new 的具体是哪个对象,
那么泛型擦除到底是哪个阶段进行的?泛型擦除的具体wei'z是在哪?

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
HackerEarth 2020 开发者调查:Go 最抢手、机器学习人才匮乏、人人都想少开会、远程面试最好
HackerEarth 发布了 2020 年开发者调查报告,有来自 76 个国家/地区的 16,000 多位开发者参与其中。 调查显示,Go 是今年最受欢迎的编程语言。无论是学生(29%)还是专业人士(32%),都将 Go 语言列在“最想学习的语言”第一位。受访的学生最想学习的语言还有JavaScript 和 Kotlin,而专业人士将 Python 和 Kotlin 作为接下来的选择。 在最感兴趣的领域方面,数据科学当仁不让,并以超过第二名接近一倍的数据遥遥领先。网络安全和物联网领域分别是人们感兴趣的第二和第三名。区块链、游戏开发、机器人等等也占有一席之地。 虽然数据科学很多人都感兴趣,但对此有经验的开发者并不多。在对数据科学有经验的开发者中,仅有 1-3 年经验的新手占大部分。 拥有全栈和后端经验的受访者最多(均超过 35%),其次是前端,但所占比例要低得多(不到 10%)。 近两年备受关注的机器学习,人才也相当匮乏,该领域经验的拥有率占比最低。 无论是学生还是专业人士,在这个年代都更多地通过网络编码平台、视频教程和网络课程来自行学习技术。相比起来,实体的指导书籍已经被扔在了身后。...
- 下一篇
每日一博|京喜前端自动化测试之路
作者: 阿翔 前言 京喜(原京东拼购)项目,作为京东战略级业务,拥有千万级别的流量入口。为了保障线上业务的稳定运行,每月例行开展前端容灾演习,主要包含小程序及 H5 版本,要求各页面各模块在异常情况下进行适当的降级处理,不能出现空窗、样式错乱、不合理的错误提示等体验问题。 原来的容灾演习过程:小程序(通信方式改成 Https )和 H5 通过 Whistle 对接口返回进行修改来模拟异常情况,验证各页面各模块的降级处理符合预期。容灾演习是一项长期持续的工作,且涉及页面功能及场景多,人工的切换场景模拟异常导致演习效率很低,因此想通过开发自动化测试工具来提升研发效率,让容灾演习工作随时可以轻松开展。京喜 H5 和小程序场景差异比较大,因此自动化测试之路分 H5 和小程序两部分进行,以 H5 作为一个开篇。 综上所述,我们希望京喜 H5 自动化测试工具可以提供以下功能: 访问目标页面,对页面进行截图; 设置 UA(模拟不同渠道:微信、手Q、其它浏览器等); 模拟用户点击、滑动页面操作; 网络拦截、模拟异常情况(接口响应码 500、接口返回数据异常); 操作缓存数据(模拟有无缓存的场景等)。 ...
相关文章
文章评论
共有0条评论来说两句吧...