类型通配符相关知识点

本文介绍了Java中泛型的通配符使用,包括无限制通配符、上限通配符和下限通配符。无限制通配符允许读取但不允许修改集合元素。上限通配符确保集合元素为特定类型的子类,如`List<? extends Shape>`。下限通配符则限定元素为特定类型的父类或其本身,如`List<? super Circle>`。这些概念对于理解和操作泛型集合至关重要。
摘要由CSDN通过智能技术生成

定义

顾名思义就是可以匹配任何一种类型的类型实参,如List<?>,可以访问任何类型的实参,但不能做修改与增添。

带限通配符

上限通配符

仅确定上限,即父类,实例化时的指定实参是其本身或者是其子类。

它表示集合中的所有元素都是Shape类型或者其子类
List<? extends Shape>
//Circle是其子类

List<? extends Shape> list = new ArrayList<Circle>();

虽然不能具体确定,但可以知道是谁的子类或者是本身。

下限通配符

与上限通配符相反,只能确认下限,即其本身或者是其父类。

它表示集合中的所有元素都是Circle类型或者其父类
List <? super Circle>

//Shape是其父类
List<? super Circle> list = new ArrayList<Shape>();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值