java 泛型通配符和类型擦除

Java中的泛型,只在编译阶段有效.在编译过程中,正确检验泛型的结果后,会将泛型的相关信息擦出,并且 在对象进入和离开方法的边界处添加类型检查和类型转换的方法.
类型通配符
什么是类型通配符? 类型通配符一般是使用"?"代替任意的类型实参。 所以,类型通配符是类型实参,而不是类型形参(泛型标识符)。
类型通配符的上限
●语法
类/接口<? extends 实参类型> 要求该泛型的类型,只能是实参类型,或实参类型的子类类型
上限不能填充元素 取出的元素类型是实参类型 List list = new ArrayList(); 理解:new ArrayList创建对象,未指定泛型实参,所以泛型在编译期被擦除为Object,在操作的时候Object会被转换成上限类型Fruit。在对list进行set操作的时候,被设置的元素的类型不一定小于等于实际的泛型类型,对new出的Ar

java 泛型通配符和类型擦除最先出现在Python成神之路

版权声明:
作者:congcong
链接:https://www.techfm.club/p/8054.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>