为什么需要泛型?
假如我们现在需要写一个排序方法,需要对整型数组,字符数组或者其它类型的数组进行排序操作,我们该如何实现?
由于对未来存储的数据类型并不确定,因此通过泛型将数据类型抽象起来,后续传入什么数据类型就可以存储什么数据类型。
对于上述需求,我们可以写一个泛型方法,在调用方法时将参数类型传递给泛型方法,就可以实现排序。
泛型的使用规则
泛型的定义
- 常用泛型表示:
字母 | 应用 |
---|---|
E | Element (在集合中使用,因为集合中存放的是元素) |
T | Type(Java 类) |
K | Key(键) |
V | Value(值) |
N | Number(数值类型) |
? | 表示不确定的 Java 类型 |
- 代码示例(以Java中的栈为例)
public class Stack<K> {
private K[] arr;
private int maxSize;
private int top;
public Stack(int maxSize) {
super();
this