这是我参与11月更文挑战的第7天,活动详情查看:2021最后一次更文挑战」。
茫茫人海千千万万,感谢这一秒你看到这里。希望我的文章对你的有所帮助!
愿你在未来的日子,保持热爱,奔赴山海!
泛型通配符前言:昨天我们终于讲完了泛型通配符的基本使用,
所以,接下来我们将会对泛型通配符的学习--泛型通配符的高级使用!
5.2 通配符高级使用在我们之前的学习泛型的过程当中,在当我们使用泛型类或者接口时,传递的数据中,泛型类型不确定,可以通过通配符>表示。但是一旦使用泛型的通配符后,只能使用Object类中的共性方法,集合中元素自身方法无法使用。
之前设置泛型的时候,实际上是可以任意设置的,只要是类就可以设置。但是在JAVA的泛型中可以指定一个泛型的上限和下限。
泛型的上限:
- 格式: 类型名称 extends 类 > 对象名称
- 意义: 只能接收该类型及其子类
泛型的下限:
- 格式: 类型名称 super 类 > 对象名称
- 意义: 只能接收该类型及其父类型
比如:现已知Object类,Animal类,Dog类,Cat类,其中Animal是Dog,Cat的父类
class Animal{}//父类
class Dog extends Animal{}//子类
class Cat extends Animal{}//子类
复制代码
-
首先我们先看下,泛型的上限 extends 类 >:
// ArrayList extends Animal> list = new ArrayList
可以看出,泛型的上限只能是该类型的类型及其子类。
-
我们再来看看泛型的下限 super 类 >:
ArrayList super Animal> list5 = new ArrayList
可以看出,泛型的下限只能是该类型的类型及其父类。
-
一般泛型的上限和下限也是用来参数的传递:
-
http://www.360doc.com/content/21/1104/07/46403850_1002672849.shtml
再比如:现已知Object类,String 类,Number类,Integer类,其中Number是Integer的父类
http://www.360doc.com/content/21/1107/21/46403850_1003191175.shtml
http://www.360doc.com/content/21/1107/21/46403850_1003190908.shtml
public static void main(String[] args) {
Collection list1 = new ArrayList();
Collection list2 = new ArrayList();
Collection list3 = new ArrayList();
Collection
学到这里,我们泛型也就学完了!
总结相信各位看官都对泛型有了全部的深入的了解和体验,在平时开发,比较常见使用在泛型的使用有集合框架中的List和Map。当然还有很多的应用,期待你慢慢发现!
那我们继续期待欢迎期待下一章的到来!
让我们也一起加油吧!本人不才,如有什么缺漏、错误的地方,也欢迎各位人才大佬评论中批评指正!当然如果这篇文章确定对你有点小小帮助的话,也请亲切可爱的人才大佬们给个点赞、收藏下吧,一键三连,非常感谢!
https://gitee.com/numerical-control-system
https://www.thinksaas.cn/user/space/50002/
https://zhuanlan.zhihu.com/p/430534517
https://zhuanlan.zhihu.com/p/430536898
https://zhuanlan.zhihu.com/p/430537972



