一文了解PECS

本文详细介绍了Java中的泛型通配符,包括<?>、<? extends E>和<? super E>的定义、分类及使用场景。重点阐述了PECS原则,即Producer Extends Consumer Super,解释了何时使用上界通配符和下界通配符,并通过代码示例进行演示。
摘要由CSDN通过智能技术生成

为什么要写这篇文章呢,是因为最近在看阿里巴巴Java开发手册时候,注意到这一条规范:
在这里插入图片描述
【强制】泛型通配符<? extends T>来接收返回的数据,此写法的泛型集合不能使用 add 方 法,而<? super T>不能使用 get 方法,做为接口调用赋值时易出错。 说明:扩展说一下 PECS(Producer Extends Consumer Super)原则:第一、频繁往外读取内 容的,适合用<? extends T>。第二、经常往里插入的,适合用<? super T>。

以下,将对PECS和这条规范进行解读。

一、什么是泛型通配符

1、简单定义泛型统配符

  1. 在了解泛型的统配符之前,我们先了解下什么是泛型,泛型是一种包含类型参数的类,值得注意的一点是这里的类型必须是引用数据类型,而且放在尖括号< >内,这里引进了类型参数,将类直接作为了参数。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_金欣

谢谢老板的打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值