泛型
<>
Collection<E> List<E>
ArrayList<Integer> array=new ArrayList<Integer>();
当只有是integer类型的数据可以存储,不是这个类型则不能加入到这个集合
泛型实际就是一个<>引起来的参数类型,这个参数类型具体在使用的时候才会确认
泛型都是引用数据类型,不是基本数据类型
使用泛型后可以确定集合中存放数据的类型
泛型类
public class Test<E> {} //这就是一个泛型类 <>里面就是一个参数的类型,但是这个类型不确定
//当对象实例化的时候没有指定泛型,则默认泛型为object类型
//当父类指定泛型的时候,则子类不用进行泛型指定,可以直接进行引用
//若父类没有进行泛型的指定,那么子类也会变成一个泛型类,<E>在创建子类对象的时候进行确定
//泛型类可以进行多个参数的指定,如<Integer,String>
//不同泛型的引用类型不同的时候不可以进行相互复制
Test<Integer> test1=new Test1<>();
Test<Integer> test2=new Test1<>();
test1=test2//这里会进行报错、
//静态方法不能使用泛型类
//当创建某个元素数组的时候,public void Test1(A m,B n){ }
错误的方式为:A[] a1=new A[3];
正确的方式:A[] a2=(A[]) new Object[];