泛型:回顾之前的超级数组,只能存放普通的类型,于是我们想改造成object,利用自动拆装箱

这样做在以前的实现中存在问题,一旦让一个数组可以存放各种类型的对象时就可能产生大量的问题。于是我们就希望有没有一种方法可以限制一个属于传入的类型。一个篮子只放一类东西。

泛型的定义:

类型就是广泛的类型,类型可以将类型确定的工作推迟到对象创建的时候。我们将一个数组定义为object类型,但是又想要在使用数组的时候只存储一个类的对象。就可以使用特殊的语法糖帮助我们超级哪个数组用于存放哪一个类。

泛型类:将泛型定义在类上我们称之为泛型类。这个类型的明确会推迟到使用这个类的时候。我们常用T,K,V来表示泛型。

泛型的改造,需要将特定的方法参数的类型修改掉。

泛型类创建完成之后,我们可以使用在使用泛型类创建对象的时候在类型的前面使用来约束数组只能存放某个特定类型的对象。注意在new关键字的类型后面同样需要一个<>,这里可以不用填写,我们称这个操作符为钻石操作符,他可以自动做类型推断。类似的格式:SuperArray superArray=new SuperArray<>():