范型只有编译阶段有用,编译过程中会进行去范型化操作,在编译过程中,正确检验泛型结果后,会将泛型的相关信息擦出,并且在对象进入和离开方法的边界处添加类型检查和类型转换的方法。
所以,泛型类型在逻辑上看以看成是多个不同的类型,实际上都是相同的基本类型。

范型方法

举例:Collections中的singletonList方法,此方法的作用是将单一的对象转换成List类型

  1. public static <T> List<T> singletonList(T o) {
  2. return new SingletonList<>(o);
  3. }

其中第一个是范型方法的声明,只有声明了范型方法,才可以使用范型参数。