跟我学java入门到精通培训教程——在项目中应用java泛型技术的实例

跟我学java入门到精通培训教程——在项目中应用java泛型技术的实例

ID:16316510

大小:379.00 KB

页数:24页

时间:2018-08-09

跟我学java入门到精通培训教程——在项目中应用java泛型技术的实例_第1页
跟我学java入门到精通培训教程——在项目中应用java泛型技术的实例_第2页
跟我学java入门到精通培训教程——在项目中应用java泛型技术的实例_第3页
跟我学java入门到精通培训教程——在项目中应用java泛型技术的实例_第4页
跟我学java入门到精通培训教程——在项目中应用java泛型技术的实例_第5页
资源描述:

《跟我学java入门到精通培训教程——在项目中应用java泛型技术的实例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、杨教授工作室精心创作的优秀程序员职业提升必读系列资料1.1跟我学Java入门到精通培训教程——在项目中应用Java泛型技术的实例1.1.1Java泛型相关的应用技术1、什么是泛型----泛型的本质是参数化类型(1)泛型的本质是参数化类型泛型是JavaSE1.5的新特性,泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。(2)泛型的种类这种参数类型可以用在类、接口和方法的定义中,分别称为泛型类、泛型接口、泛型方法。(3)泛型类的代码示例publicclassSomeGenericsDemo{CollectiononeC

2、ollection;publicvoiddoSomeThing(EoneElement){oneCollection.add(oneElement);//...}}2、为什么要应用泛型泛型就好比Word中的模板,在Word的模板中,提供了基本的文档编辑内容,在定义Word模板时,对具体编辑哪种类型的文档是未知的。在Java中,泛型则提供了类、接口和方法、变量等的模板,泛型也可以看作是占位符,与定义Word模板时类似,定义泛型时的具体类型是未知的。(1)Java语言引入泛型的好处是安全和简单在JavaSE1.5之前,没有泛型的情况的下,通过对Ob

3、ject类型的对象引用来实现参数的“任意化”,“任意化”带来的缺点是需要在使用者的代码中要做显式的强制类型转换杨教授工作室,版权所有,盗版必究,24/24页杨教授工作室精心创作的优秀程序员职业提升必读系列资料,而这种转换是要求开发者对实际参数类型是可以预知的情况下进行的。publicclassSomeDigitClass{publicvoiddoSomeThing(ObjectoneParameterObject){if(oneParameterObjectinstanceofInteger){IntegertargetParameterObj

4、ect=(Integer)oneParameterObject;}elseif(oneParameterObjectinstanceofFloat){FloattargetParameterObject=(Float)oneParameterObject;}}}而对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个很严重的安全隐患。(2)泛型的好处是在编译的时候就进行类型安全方面的检查并且所有的强制类型转换都是自动和隐式的,以提高代码的可重用率。(3)应用泛型能够减少编码量并提高代码的通用性(简化代码结构、提高开发

5、效率)3、泛型在应用中的规则和限制(1)泛型的类型参数只能是对“类”类型(包括自定义类),不能是简单的数据类型。(2)泛型的参数类型可以使用extends语句,例如。习惯上成为“有界类型”来加以限定其范围。(3)泛型的参数类型还可以是通配符类型。例如ClassclassType=Class.forName(java.lang.String);(4)泛型类不可以继承Exception类,即泛型类不可以作为异常被抛出(5)不可以定义泛型数组、也不可以用泛型构造对象(即object=newT();是错误的

6、),并且在static方法中不可以使用泛型,泛型变量也不可以用static关键字来修饰publicstaticTgetSingleInstance(){//不通过}杨教授工作室,版权所有,盗版必究,24/24页杨教授工作室精心创作的优秀程序员职业提升必读系列资料publicstaticTsingleInstance;//不通过4、泛型的基本语法(1)其定义的基本方式是通过某个类名后面的<>括号中的值指定下面这一段示例代码说明如何定义泛型,其中用E代替在实际中将会使用到的类名(当然也可以使用其它别的名称,习惯上在这里使用大写的E,表示Collec

7、tion的元素)。然后就可以采用该E来进行参数的定义。通过在类名后面使用一对尖括号,中间放一个称为类型参数的“E”来定义泛型,该符号“E”其实是“类型占位符”或者称“类型参数”。(2)代码示例1publicclassTestGenerics{Collectioncol;publicvoiddoSth(Eelem){col.add(elem);//...}}(3)代码示例2packagecom.px1987.general;importjava.util.List;/****下面的SomeOneClass类现在为泛型类*publici

8、nterfaceSomeOneClass*/publicclassSomeOneClass{/***下面的zhang现在为泛型变量*/杨教

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。