使用泛型机制编写的程序代码要比那些杂乱的使用Object变量,然后在进行强制类型的转化的代码具有更好的安全性和可读性,泛型对于集合类非常有用例如我们经常用到的ArrayList.
泛型程序设计意味着编写的代码可以被很多不同类型的对象所重用。在JAVASE5.0之前,Java的泛型程序都是用继承实现的,ArrayList类指维护一个Object引用的数组例如
package com.chapter02;
public class ArrayList {
public Object get(i){.....}
public void add(Object o){.....}
......
private Object[] elementData;
}
这样实现的时候就会出现2个问题
1.当获取一个值的时候我们必须强制转化
2.没有类型限制我们可以添加任意类型的参数。
这样就出现了泛型,在JavaSE5.0以后我们在程序中就可以使用泛型并且自定义泛型。
简单泛型的定义如下:
package com.chapter02;
public class Pari<T> {
private T first;
private T second;
public Pari(){
first = null;
second = null;
}
public Pari(T first, T second){
this.first = first;
this.second = second;
}
public void setFirst(T first){
this.first = first;
}
public void setSecond(T second){
this.second = second;
}
public T getFirst(){
return first;
}
public T getSecond(){
return second;
}
}
从泛型的自定义我们可以看出其实泛型就是普通类的工厂。