java泛型,你了解java的泛型吗?

泛型

只可以传入 object 类型 底子数据类型不可以

泛指任意的引用数据类型【就是运用的一种不知道类型,具体在运用的时分进行承认】

泛型类

界说类

java泛型,你了解java的泛型吗?
img

运用时可以传入任意类型

泛型方法

java泛型,你了解java的泛型吗?
img

以下类推在运用数据类型 或许方针时都可以运用

12 泛型通配符得底子运用

泛型通配符:

泛型通配符效果:假设想让我们得参数可以接纳任意类型得泛型,就可以凭仗泛型通配符完成。

==留心:泛型统配2 % 9 Q 符界说得集合,不支持增删操作,只支持读取操作==

java泛型,你了解java的泛型吗?
img

受限泛型 ?

java泛型,你了解java的泛型吗?
img

约束通配符总是包括自己

上界类型通配符:add 方法受限

下界类型通配符:get 方法受限

假设你想从一个数据类型里获取数据,运用 ? extends 通配符

假设你想把方针写入一个数据结构里,运用 ? super 通配符

假设你既想存,又想取,那就别用通配符

不能一起声明泛型通配符上界和下界

泛型擦除

j% u { d W 2 |avu W & Y , g s 4a 的泛型采用的是伪泛型,会在编译期处理为我们一般的方法和类,所以当我们编写一段带泛型的代码看似指定了类型其实并没有它仍是一个 object 类型,处理机制是通过类型擦除,擦除规则:

若泛型类型没有指定具体类型,用 Object 作为原始类型;
若有约束类型Y * + % D { Z : _< T exnteds XClass >,运用 XClass 作为原始类型;
若有多个约束< T exnteds XClass1 & XClass2 >,运用第一个鸿沟类型 XClass1 作为原始类型;

假设有问题期望我们指出来!