参考指南:Java 泛型 | 菜鸟教程
一、简介
(一)什么时候用?
- 假设你的需求是:希望能有一个排序方法,可以对整型数组、字符串数组等任何类型的数组进行排序,该怎么实现?
- 答案是:使用JAVA泛型。
- 使用 Java 泛型的概念,我们可以写一个泛型方法来对一个对象数组排序。然后,调用该泛型方法来对整型数组、浮点数数组、字符串数组等进行排序。
(二)是什么?
泛型,即“参数化类型”,是JDK5中引入的一个新特性,提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。
参数,当我们在定义方法时有形参列表。
普通方法的形参列表中,每个形参的数据类型是确定的,而变量是一个参数。
在调用普通方法时需要传入对应形参数据类型的变量(实参),若传入的实参与形参定义的数据类型不匹配,则会报错。
那什么是参数化类型?
以方法的定义为例,在方法定义时,将方法签名中的形参的数据类型
也设置为参数(也可称之为类型参数),在调用该方法时再从外部传入一个具体的数据类型和变量。
(三)泛型标记符
E | Element,在集合中使用,因为集合中存放的是元素 |
T | Type,Java类 |
K | Key,键 |
V | Value,值 |
N | Number,数字类型 |
? | 不确定的Java类型 |
二、 示例
需求:定义一个能对任何数据类型的数组进行排序的方法