这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。
在没有泛型的情况的下,通过对类型object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知的情况下进行的。
对于强制类型转换错误的情况,编译器可能不提示错误,在运行的时候才出现异常,这是一个安全隐患。
泛型的类型参数只能是类类型(包括自定义类),不能是基础类型(如int,double和char)。
同一种泛型可以对应多个版本(因为参数类型是不确定的),不同版本的泛型类实例是不兼容的。
类的泛型类型可以有多个。
泛型之间没有继承关系,即使string继承了object。下面的代码是非法的
list ls = new arraylist();
list lo = ls;
泛型的类型参数可以使用extends语句,例如。习惯上称为有界类型。
泛型的类型参数还可以是通配符类型。例如class
原文地址:http://blog.csdn.net/ooppookid/article/details/51233605