您现在的位置是:首页 > 文章详情

如何理解 Java 泛型擦除?

日期:2020-05-10点击:671

最近在学习泛型,一直不理解泛型擦除是怎么回事,也查阅很多博客但还是不理解,都没说清楚泛型擦除是怎么进行的,是怎么擦除的,都是说泛型擦除是在编译后,然后将泛型信息擦除,将泛型编译为参数类型对应的类型:

有Test.java文件,文件内容为

public static void main(String[] args){ List<String> list=new ArrayList();① }

问题1:泛型擦除是在编译后,编译后就是把全部.java文件编译成.class文件,擦除是擦除的是执行①后的实际对象中的吗?这似乎也说不通,因为new ArrayList() 的时候并没有限定类型,只是在声明的时候限定了类型

 

问题2:因为查阅资料都说的是编译后进行泛型擦除,就是说这个不可能是在new一个对象的时候进行泛型擦除,因为编译时还不能确定new 的具体是哪个对象,

那么泛型擦除到底是哪个阶段进行的?泛型擦除的具体wei'z是在哪?

原文链接:https://www.oschina.net/question/3939240_2316318
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章