Java 泛型<>中的字母没有意义
随便写都可以用。为了方便区分,常用的表示字母有以下含义。
? 表示不确定的 java 类型
T (type) 表示具体的一个java类型
K V (key value) 分别代表java键值中的Key Value
E (element) 代表Element
泛型类,是在实例化类的时候指明泛型的具体类型;
泛型方法,是在调用方法的时候指明泛型的具体类型 。
https://www.cnblogs.com/coprince/p/8603492.html
public class TestGenericMethod {
//不是所有在泛型类中的方法都叫泛型方法。
//下面的才是泛型方法的声明
//泛型方法只在编译时有用,运行时就变成对应具体的返回值类型了。
//在public 和 T中间的<T>必须要写,表明这是个泛型方法。
//在修饰符public和返回值类型参数T之间的<T>可以理解为:声明泛型方法
public <T> T TestGeneric() {
return null;
}
//错误:
//在普通类中,以下的方法会报错
//因为参数T既不在泛型方法中,且方法也未声明为泛型方法。
public T TestGeneric1() {
return null;
}
}
Java类的泛型的用法
//下面方法中的形参的类型就是:泛型类(或泛型接口)
//这个<E>是在List的父接口中(List<T>)声明的
//在这里就需要指定参数类型,尖括号中的符号必须是在方法或方法所在类中声明过的符号。
//或者是直接用已知的类如String、Integer、Char等。
//也可以用问号,等后面声明调用方法时在根据参数类型,选择指定的类。
public void TestList(List<?> list) {
}