1.泛型的定义
泛型可以定义在类、接口、方法中,编译器通过识别尖括号和尖括号内部的字母解析泛型。
约定俗成的泛型记号
- E:Element,集合中的元素
- T:Type,表示某个类
- K:Key,键
- V:Value,表示值
2.泛型的初始化
在java中泛型为未知类型,只具备执行Object方法的能力,但无法初始化。
例如:
//报出Type parameter 'E' cannot be instantiated directly
E e = new E();
//推荐的编写方法为,但需要注意的是仍然会出现warning:unchecked
E e = (E)new Object();
在java.util.ArrayList同样使用了Object强制类型转换为泛型变量
//该方法使用注解除去warning
@SuppressWarnings("unchecked")
E elementData(int index) {
return (E) elementData[index];
}
3.引申题
使用一个数组实现栈的功能
import java.util