如何正确使用通配符边界_第1页
如何正确使用通配符边界_第2页
如何正确使用通配符边界_第3页
如何正确使用通配符边界_第4页
如何正确使用通配符边界_第5页
已阅读5页,还剩5页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

作者:颜廷吉《Java代码与架构之完美优化——实战经典》第三章代码质量优化通用准则——3.21如何正确使用通配符的边界(21/77)目录

Contents@2、现象类别与现象描述是什么?@1、优化前代码有哪些瑕疵?@3、有哪些不利影响?@4、有哪些检测工具与方法?@5、最佳解决方案是什么?@6、如何解析优化后代码?1、优化前代码有哪些瑕疵?■优化前代码实例1、2动动脑筋:本例代码中有哪些瑕疵,应该如何优化?2、现象类别与现象描述是什么?■现象类别

泛型■现象描述

通配符可以有上下限限制,很多程序员见了就发蒙,不知如何利用。3、有哪些不利影响?■不利影响分析

不用通配符,降低了程序的严谨性,也降低了程序的通用性。4、有哪些检测工具与方法?■检测工具或方法

1.(R)代码检查2.(EC)边界检查5、最佳解决方案是什么?■最佳解决方案

一般程序开发用不上通配符,但是在框架设计中,通配符显的非常重要,需要大胆使用,这样才可以是架构完美。使用时要根据以下情况进行适当选择。

如果从一个数据类型里获取数据,使用<?extendsT>通配符。可以这样想:<?extendsT>这个通配符告诉编译器我们在处理一个类型T的子类型,但我们不知道这个子类型究竟是什么。因为没法确定,为了保证类型安全,我们就不允许往里面加入任何这种子类类型的数据。另一方面,因为我们知道,不论它是什么类型,它总是类型T的子类型,当我们在读取数据时,能确保得到的数据是一个T类型的实例。

如果想把对象写入一个数据结构里,就使用<?superT>通配符。

如果是既想存,又想取的情况,就不适合用通配符。6、如何解析优化后代码?■优化后代码解析

代码1中,读取集合里的数据,要用extends,否则就会编译通不过。

代码2中,向集合里写入数据,要用super,否则同样

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论