9.1.1 泛型概述
泛型(Generic)的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。Java的泛型可以用一个类型占位符来表示任意类型,实现一个泛型方法来对一个对象数组排序,调用这个方法就可以对整型数组、浮点数数组、字符串数组等进行排序,且编译器会检查传入的类型是否合法。
泛型的语法结构为用一对尖括号“< >”来声明泛型,并在尖括号中使用任意字符来表示任意类型:

这样,上述示例代码就可以修改为:
(https://www.daowen.com)

使用类型占位符T来代替任意类型,在调用对某个类型数据进行排序的时候,只需要设置T的具体类型,编译器会根据设定的类型来检查类型的合法性。
提示:
Java的泛型是用过擦拭法(Type Erasure)来实现的。所谓擦拭法是指虚拟机对泛型一无所知,所有的工作都是由编译器完成的。也就是说,泛型是在编译阶段检测类型的合法性,当检测通过之后,编译器会将泛型中的类型占位符替换为某个具体的类。