1、泛型指定的类型是类与接口这两种数据类型,而不能是int,char这类基本数据类型
2、指定泛型与不指定泛型的区别
不指定泛型:
ArrayList list=new ArrayList();
list.add(new Aclass());
add(Object)传入Object对象或其子类;
当用get(id)取出时,取出的是一个Object对象。
指定泛型:
ArrayList<Aclass> list=new ArrayList<Aclass>();
list.add(new Aclass());
add()传入Aclass对象或其子类,编译时会检查类型是否符合,但实际上还是个Object对象;
当用get(id)取出时,会将其强制转换为Aclass对象。
3、泛型类
声明:
class Aclass<E1,E2,E3…>{}
E1,E2,E3只要是标识符即可,在实际使用传入实际的类型。
泛型作为类的成员变量类型,方法的类型,局部变量的类型。
注:泛型类中也可以使用非泛型类型。
继承与上转型问题: