Java 泛型的读写规则:PECS

本文深入探讨了Java泛型的PECS原则,即Producer Extends, Consumer Super。通过举例说明,阐述了在遍历集合(生产者场景)时使用extends的规则,以及在向集合添加元素(消费者场景)时使用super的考虑。结合调用传值和参数使用,文章帮助读者更清晰地理解何时使用这两个关键字。" 108610451,10096284,Python3 编程:计算圆周长与面积,"['Python', '小程序']
摘要由CSDN通过智能技术生成

PECS 就是当你需要遍历某一个类型和子类的集合数据时,集合相当于生产者,此时泛型使用 <? extends T> 。当需要往某个类型的集合添加类和子类实例时,集合相当于消费者,此时泛型使用 <? super T> 。

每年八九月份的瓜是最甜的。

对 Java 泛型 PECS 的讲解中,大多是从参数使用的角度来的,本文结合调用传值和参数使用对比来看 PECS 的两种情况。

当我们想要遍历读取某个集合时,需要使用 <? extends T> ,用上面类型为例,为了方便查看编译时的错误,直接上截图:

当使用 <? extends Watermelon> ,类型的上限是 Watermelon ,从集合取出的值默认就是 Watermelon ,因此也能用父类定义去引用,所以方法前三个赋值正确, KylinWatermelon 错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值