黑马程序员-java泛型总结

黑马程序员-java泛型总结

ID:43313222

大小:227.31 KB

页数:15页

时间:2019-09-29

黑马程序员-java泛型总结_第1页
黑马程序员-java泛型总结_第2页
黑马程序员-java泛型总结_第3页
黑马程序员-java泛型总结_第4页
黑马程序员-java泛型总结_第5页
资源描述:

《黑马程序员-java泛型总结》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、本文是将Java深度历险之Java泛型与Java5泛型深入研究介并修改而成的。泛型是JAVASE1.5的新特性,泛型的本质是参数化的类型,也就是说所操作的数据类型被指定为一个参数。这种类型参数可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。JAVA语言引入泛型的好处是安全简单。在JAVASE1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。对于强制类型转换错误的情况,编译

2、器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。泛型的好处是在编译的时候检査类型安全,并且所有的强制转换都是自动和隐式的,提高代码的重用率。例仁未使用与使用了泛型的区别[java]viewDlaincooy

3、1.〃未使用泛型2.classGen2{〃定义一个通用类型成员3.privateObjectob;4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.publicGen2(0bjectob){this.ob=ob;}publicObjectgetOb(){returnob;}public

4、voidsetOb(Objectob){this.ob=ob;}publicvoidshowTyep(){System.out.printIn("T的实际类型是:"+ob.getClass()•getName());21.publicclassGenDemo2{22.publicstaticvoidmain(String[]args){23•//定义类Gen2的一个Integer版木24.25.26.27.28.29.30.31.32.33.34.35.36.Gen2intOb=newGen2(newInteger(88));i

5、ntob.showTyep();inti=(Integer)intOb.getOb();//显式的强制类型转换System.out.pTintln("value="+i);//定义类Gen2的一个String版木Gen2strOb=newGen2(”HelloGen!");strOb.showTyep();Strings=(String)strOb.getOb();//显式的强制类型转换System.out・println("value二"+s);37.}[java]viewolaincopy1.〃使用了泛型2・classGen

6、{3.privateTob;//定义泛型成员变量4.5.publicGen(Tob){6.this.ob=ob;7・}8-9.publicTgetOb(){10.returnob;11.}12.13.publicvoidsetOb(Tob){14.this.ob=ob;15.}16.17.publicvoidshowTyep(){18.System.out.println("T的实际类型是:11+ob.getClass().getName());19.}20.}21.publicclassGenDemo{22.public

7、staticvoidmain(St"ng[]args){23.//定义泛型类Gen的一个Integer版木24.Gendnteger>intOb=newGen(88);25.intOb•showTyep();26.inti=intOb.getOb();//所有的强制转换都是自动和隐式的27.System.out.pTintln("value二"+i);28•29.30.32・32.33・34.35・36.卜7.}System.out.println("");//定义泛型类Gen的一个String版本Gen

8、ring>strOb=newGen("HelloGen!");strOb.showTyep();Strings=strOb.getOb();//所有的强制转换都是自动和隐式的System.out.println("value="+s);}输出结果:两个例子输出结果相同,均为:[java]viewDlaincooy1.T的实际类型是:java.lang.Integer2.value=883.4.T的实际类型是:java.lang.String5・value=HelloGen!泛型中涉及的术语:以ArrayList<

9、E>定义和ArrayList引用为例,1)ArrayList整个称为泛型类型;2)ArrayList中的E称为类型变量或类型参数;3)ArrayList称为参数化的类型;4)ArrayList中的

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

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

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