Java语言程序设计-进阶篇(二)泛型
2018-02-01 12:19
274 查看
泛型类是JDK1.5之后增加的特性,可以使程序更加可靠
1.定义泛型
定义泛型类时,<E>放在类名之后。定义泛型方法时,<E>放在返回值之前。
2.原始类型与泛型消除
Comparable a = new Comparable();是原始类型,相当于Comparable<Object> a = new Comparable<Object>();泛型在JVM中实际上是转换成原始类型来处理的,目的是为了向后兼容,这种转换就称为泛型消除。有由于泛型消除,所以泛型类有些一些使用限制,比如不能实例化,不能使用泛型类创建数组,不能在静态上下文中使用泛型类,异常不能是泛型。
3.限制可用类
<E>相当于<E extends Object>,表示只能是类型E,另外<E>只是代号,用<T>也可以表示,含义是某个类型。另外<E extends anyClass>含义是某个类,但是这个类只能是anyClass的子类。
4.通配符
<?>表示任何类型,称为非受限通配符,相当于<? extends Object>
<? extends T>表示任何T的子类或者T,称为首先通配符。
<? super T>表示任何T的父类或者T,称为下限通配符。
相关文章推荐
- Java语言程序设计-进阶篇(九)多线程与并行程序设计【下】
- Java语言程序设计-进阶篇(六)排序算法
- Java语言程序设计-进阶篇(三)线性表,栈,队列和优先队列
- Java语言程序设计-进阶篇(七)多线程与并行程序设计【上】
- java语言程序设计-进阶篇(十)网络
- Java语言程序设计-进阶篇(八)多线程与并行程序设计【实例】
- Java语言程序设计-进阶篇(一)递归
- Java语言程序设计-进阶篇(四)集合和映射表
- Java语言程序设计-进阶篇(五)算法基础
- Java语言程序设计-进阶篇(十二)数据库程序设计
- Java语言程序设计基础加进阶原书第10版百度云盘下载链接 [网络收录]
- Java语言程序设计-进阶篇(十一)客户端/服务器程序实例
- java语言程序设计 李元朝 第7章 类的继承和多态机制 练习题答案
- Java语言程序设计-Eclipse入门之Applet程序
- Java语言程序设计-基础篇(五)字符串
- Java语言程序设计-基础篇(六)正则表达式
- java16.语言进阶------本地文件操作---文件的简单读写
- 梁勇2011JAVA语言程序设计基础篇第16章编程题16.16闪烁的标签
- Core Java (十九) 泛型程序设计(Generic parogramming)
- 1.JAVA程序设计语言基础