趣文网 > 作文大全

5分钟Java短文:泛型之有限通配符(super extends)

2020-11-29 21:30:01
相关推荐

前言

日常琐碎的时间下,不适合看一些长篇高质量的文章,但是琐碎时间也是时间,看一些短小精悍的文章来查缺补漏也是极好的。碎花化的时间,就交给“碎片化的文章”来填充吧。

今天“碎片化文章”主题:泛型-有限通配符。之前发过一篇文章,感觉并没有聊明白,所以重新整理了一篇文章,旨在解释清楚:有限通配符存在的意义。

正文

聊聊泛型

开篇先问大家一个问题:如何理解泛型?

Java官方文档是这样说的:Generics enable types (classes and interfaces) to be parameters when defining classes, interfaces and methods.(翻译过来就是:泛型将类型参数化)

因为这样的特性,让我们在写代码的时候很方便,而且更安全和可靠。

OK,现在咱们来进一步思考泛型,刚才提到了泛型的好处。这里咱们想一想:是不是泛型总是应用在对外提供能力的接口上?

因此这里引申出来了泛型更深层的意义:在设计一些较底层的模块时,泛型可以提供更好的规范,减少上层使用时出错的可能。

聊聊有限通配符

先上一段关于上下限通配符的代码:

熟悉有限通配符语法的同学,都知道:

对于意味着只能取( get())到T及T子类,而不能放入( set())。对于意味着只能放( set())到T及T父类,而不能取到( get())。这也就是上述截图中爆红的原因。

不知道有多少人和我一样对这种用法有“疑惑”:为啥要这样限制。其实这里我们不妨想想,我们日常开发时写过多少次这样的代码?我相信答案是一定是:很少。

没错,这些限制本身也不是给上层业务方提供的!这句话不好理解?没关心继续往下看。

咱们在看一段代码:

就拿上述中这个例子,假设我要调用这个方法,其实我们并不关心super和extends的用法,我们关心的是:当我按方法规范传递参数时,方法的实现能不能达到我的预期。

这里我们假设按 mergeList()的要求正确的传入了俩个List,那么很明显 in2这个List能够顺利合并到 out中。

方法调用者很方便,方法提供者也很方便。有限通配符以一种规范让参与者们都能在代码编写阶段不出错、少出错。

因此,充分理解才是最重要的~

尾声

OK,接下来让我们关掉手机,思考3分钟,一切都是这么顺其自然~

阅读剩余内容
网友评论
相关内容
延伸阅读
小编推荐

大家都在看

老师在我心中作文 以家为主题的作文400字 中秋节250字作文 三年级作文我真了不起 校园暴力作文300字 赞美家乡的作文结尾 生日三年级作文 我的十个优点作文 梅花鹿作文 美丽的人作文600字 我和爸爸比童年作文 夏天来了作文50字 一篇童话作文300字 小学六年级第五单元作文 我学会了什么艺术的作文 写景的作文两百字 五年级作文我爱你汉字 关于阻力的作文 我的家园作文 凤凰古城作文400字 端午节作文300字 拥有什么的作文 暑假写什么作文好 收获温暖作文600字 我懂得了一个道理作文 作文app 小学教资作文 放飞梦想作文 写景作文400字左右 革命英雄作文600字