泛型的基本概念
泛型: 参数化类型
参数:
定义方法时有形参
调用方法时传递实参
参数化类型: 将类型由原来的具体的类型参数化,类似方法中的变量参数
类型定义成参数形式, 可以称为类型形参
在使用或者调用时传入具体的类型...,不能是简单类型
不能对确切的泛型类型使用instanceof操作,编译时会出错
泛型接口
泛型接口与泛型类的定义及使用基本相同
泛型接口常常被用在各种类的生产器中
示例:
// 定义一个泛型接口
public...由此可见:
同一种泛型可以对应多个版本,因为参数类型是不确定的
不同版本的泛型类型实例是不兼容的
为了解决这样的问题,又不能为了定义一个新的方法来处理Generic,这与Java...key;
}
/*
* 下面的这个方法显然是有问题的,在编译器中就会提示错误"cannot resolve symbol E"
* 因为在类的声明中并未声明泛型E,所以在使用E...由于JVM的擦除机制,在运行时JVM是不知道泛型信息的:
所有可以给oa[1] 赋值一个ArrayList却不会出现异常
但是在取出数据的时候要做一次类型转换,就会出现ClassCastException