泛型中? super T和? extends T的理解

? super T 代表T本身和T的父类

? extends T 代表T本身和T的子类

这个玩意有什么用呢,起到限定作用,比如你要实现一个list集合拷贝的方法,即Collect.copy(listD,listS);

如果不加任何限制,那么任何类型的两个List都能进行拷贝肯定是不正确的,因为里面的字段千差万别。

假设ListD代表目的集合   listS代表源集合 请问哪个代表? super T  哪个代表? extends T

按照正常思维思考一下  源集合肯定是来者不拒  越多越好 能拷贝的字段越多越好 因此对源集合不做限制

不做限制的话肯定选 ? extends T 啊 因为子类既拥有父类 又能自己额外添加东西。

目的集合为了起到这个拷贝方法的限制性,需要用? super T 这样拷贝的时候才能真正拷贝到想要的。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值