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

泛型

只可以传入 object 类型 基本数据类型不可以

泛指任意的引用数据类型【就是使用的一种未知类型,具体在使用的时候进行确定】

泛型类

定义类

cdaf55de99bddc031dfd01512917b57e.png

使用时可以传入任意类型

泛型方法

494484874336873d0ba6a008fde4503c.png

以下类推在使用数据类型 或者对象时都可以使用

12 泛型通配符得基本使用

泛型通配符:

泛型通配符作用:如果想让我们得参数可以接收任意类型得泛型,就可以借助泛型通配符实现。

==注意:泛型统配符定义得集合,不支持增删操作,只支持读取操作==

3606b9acd68f54944b783464b1a21255.png

受限泛型 ?

3606b9acd68f54944b783464b1a21255.png

限定通配符总是包括自己

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

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

如果你想从一个数据类型里获取数据,使用 ? extends 通配符

如果你想把对象写入一个数据结构里,使用 ? super 通配符

如果你既想存,又想取,那就别用通配符

不能同时声明泛型通配符上界和下界

泛型擦除

java 的泛型采用的是伪泛型,会在编译期处理为我们普通的方法和类,所以当我们编写一段带泛型的代码看似指定了类型其实并没有它还是一个 object 类型,处理机制是通过类型擦除,擦除规则:

若泛型类型没有指定具体类型,用 Object 作为原始类型;若有限定类型< T exnteds XClass >,使用 XClass 作为原始类型;若有多个限定< T exnteds XClass1 & XClass2 >,使用第一个边界类型 XClass1 作为原始类型;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值