extends T 和 super T对比

<? extends T> 表明集合指定的元素类型为T或者T的子类。它不可以存放任何元素,假如你存放了T类型的元素,这个集合的指定元素可能是T的某一子类,就像List<String>中不能存放Object一样。但是我们知道其中存放的元素一定是T及T的子类,元素一定可以转为T类型去获取。这类集合用于对外提供数据,是生产者

 

<? super T> 表明集合中的元素为T或T的父类。 它可以获取元素,但是只能被转为Object类型,你不确定集合中到底存放的是T的哪一种父类元素,但是知道它们一定是Object及其子类。你可以存放T及T的子类,因为元素类型已经确定可以被转为T及其父类类型,不能存放T的父类类型,就好像List<String>不能存放Object类型一样,但是List<String>可以存放String及其子类。这类集合用于存入数据,作为消费者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值