Java泛型:可以事先规定集合中的元素的数据类型,避免将来使用的麻烦。
泛型(Gernerics)机制自从Java se5.0开始引入,其实本质是将原本确定不变的数据类型参数化。
好处:
作为对原有Java类型体系的扩充,使用泛型可以提高Java应用程序的类型安全、可维护性和可靠性。
*用法:
创建集合容器时,规定其允许保存的元素类型,然后由编译器负责添加元素的类型合法性检查,在取用集合元素时则不必再进行造型处理。
例如:
import java.util.*;
public class TestFanxing{
public static void main (String[] args) {
Vector<String> v = new Vector<String>();//集合(加入了泛型标记):只能够保存String类型的元素,不能保存其他类型数据
v.addElement("Tom");//向集合中添加元素
v.addElement("billy");
//v.addElement(new Date());
//v.addElement(new Integer(200));
//v.addElement(400);
for (int i = 0; i<v.size(); i++){
//Object o = v.elementAt(i);//从集合中取出来
//System.out.println(o);
String s = v.elementAt(i);//不需要封装
System.out.println(s);
}
//String s = (String)v.elementAt(1);
//System.out.println(s.toUpperCase());
}
}
·在使用集合的时候,应该用泛型来标记进行元素附加的约束。
·泛型类:由类型参数修饰的类型称为泛型类。
格式如下:数据类型<类型参数>
例如:
public class Vector<E>{
public void addElement(E obj){}
public E elementAt(int index){}
}
·使用泛型类时应明确指定类型参数:
Vector<String> v = new Vector<String>();
·类型通配符“?”
使用?作为类型参数,如: Vector<?>
·Vector<?>是任何泛型Vector的父类型。
它的变量在调试方法时是受到限制的——凡是必须知道具体类型参数才能进行的操作均被禁止。