泛型
来源:互联网 发布:mysql 表触发器 编辑:程序博客网 时间:2024/06/06 17:16
1.为什么需要泛型?
- 解决元素存储的安全性问题(在没有使用泛型的情况下,任何object及其子类的对象都可以添加进来)
- 解决获取数据元素时,需要类型强转的问题(在进行强制类型转换时,可能报ClassCastException的异常)
2.JDK要求
JDK1.5。
3.泛型类
- 一个泛型类(generic class)就是具有一个或多个类型变量的类。
- Class 类名称<泛型类型,泛型类型,......>{......}
- 类型参数的魅力在于:使得程序具有更好的可读性和安全性。
- 在Java库中,使用变量E表示集合的元素类型,K和V分别表示表的关键字与值的类型。T(需要时还可以用临近的字母U和S)表示“任意类型”。
4.术语
ArrayList<E>:E称为类型变量或类型参数
ArrayList<Integer>:称为参数化的类型,其中的Integer称为类型参数的实例或实际参数
ArrayList<Integer>:<> 称为 type of
ArrayList:称为原始类型
5.兼容性
参数化类型与原始类型的兼容性,可以只写一边:Collection<String> c = new Vector(),或者Collection c = new Vector<String>()
参数化类型不考虑类型的继承关系:
数组不能使用泛型。
5.泛型与继承的关系
6.通配符
0 0
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- 泛型
- Busybox功能在Ubuntu上的测试
- 如何将十进制数转换成二进制数输出的一种方法
- 交朋友---2014亚马逊机试第1题
- 优先队列 之 堆排序实现(堆排序思想)
- 线段树模板-成段增减
- 泛型
- IOS开发 单例模式
- ScheduledExecutorService定时周期执行指定的任务
- mysql sql语句大全
- HDU 2089
- 设计模式(七)之 Adapter(适配器)
- iOS 单例
- 利用百度地图api写的一个获取经纬度和精度半径的类
- poj2503--Babelfish(字典树一水)